« RD-XS46 EX | Main | 野生の藤 »

2006.05.13

System.in

 コンソールからの入力を使ったJavaアプリを構築。
 System.inを使用するのは基本ですが、目標は↑↓キーでのヒストリ機能とか、Tabキーでの自動補完機能の搭載。しかしながら、コンソールからの入力を前提とした場合、ヒストリ機能とか自動補完機能ってのは無理っぽい? 調べた範囲では、Enterが押されるまで処理がブロックされるのは避けようがないみたい。
 例えば、Tabキーで自動補完機能を実現するとした場合、Enterが押されるよりも前にTabキーが押されることになるわけですが、そのタイミングではread()のところでブロックがかかりっぱなし(JNIを使うなどすれば実現できるようですが)。

 ただ、WindowsXPのコマンドプロンプトから実行してみたところ、ヒストリ機能としては(OS側の機能として?)実現されているんですね。Eclipseのコンソールで実行したときは、↑↓キーで普通に(?)フォーカスが上下に移動するだけでしたが、コマンドプロンプトから行うと、前に入力した内容が表示されるじゃないですか。

 ま、自動補完機能はあきらめて、ヒストリ機能だけは(勝手に)動いてくれたので、それでよしとしておきますか(笑)。

|

« RD-XS46 EX | Main | 野生の藤 »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/10052000

Listed below are links to weblogs that reference System.in:

« RD-XS46 EX | Main | 野生の藤 »