« 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


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

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