0

重複の可能性:(
ユーザーが入力したときに)Javaのコンソールから単一の文字を読み取る方法は?

私はJavaでプログラミングしているのですが、プログラムの次の部分に進む前に、ボタンが押されるまで「待つ」方法なのだろうかと思っていました。私はこれをターミナルで実行しています。すなわち

Scanner in = new Scanner(System.in);
.
.
.
System.out.print("Something");
/* Wait until a button has been pressed */ 
System.out.println("Something Else");

in.next()のようなものは、何かを押してからEnterキーを押すまで待機します。ボタンが押される(またはマウスがクリックされる)まで待ってから次の行に進む方法はありますか?できれば、入力が画面にエコーされないようにします(可能な場合)。
したがって、出力は次のようになります。

いつもありがとうございました。どんな助けでも大歓迎です。

4

1 に答える 1

1

1 つの方法は、キーボード/マウス フックを設定することです。

Jnativehookを使用してそれを行うことができます。

JNativeHook は、Java 用のグローバル キーボードおよびマウス リスナーを提供するライブラリです。これにより、ピュア Java では不可能なグローバル ショートカットやマウス モーションをリッスンできます。このタスクを達成するために、JNativeHook は、Java のネイティブ インターフェイスを介してプラットフォーム依存のネイティブ コードを利用して、低レベルのシステム全体のフックを作成し、それらのイベントをアプリケーションに配信します。

もう 1 つの方法は、KeyListener を記述してキーボード入力をキャプチャすることです。こちらをご覧ください。

于 2012-11-02T05:42:32.253 に答える