2017-06-04 11 views
0

ESCに変数を割り当てる方法を教えてください。キーを押すと、プログラムはシャットダウンされますか? 私は電卓をやっていると私は見ている唯一の方法は、直接のようにそれをやっている:割り当てることが可能であるならば言うあたり-1エスケープキーに私は、知らない実行中のプログラムを取り除くにはどうすればよいですか?

Scanner console = new Scanner(System.in); 
int x = 1; 
while(x==1) 
{... 
System.out.println("Enter in -1 to exit program"); 
x = nextInt(); 
} 

。あなたはアイデアがあれば教えてください。それは天文学的に評価されるだろう。 ;-) ...--)

+0

そしてすべての必要な輸入が行われています。それはちょうどそれを途中で取得する... –

+0

それは、感謝@バオ私の天文学の感謝はあなたに行く!物理的なトロフィーを手に入れていないにもかかわらず、このポストには役に立たない。 :_-) –

答えて

2

、あなたがすることはできません。

ESCScannerで読むことはできません。あなたは、UIライブラリ(例えば、Swing)によってキーリスナーを使用することになっています。 "How to write a key listener?"をご覧ください。

この場合、(実際に行ったのと同じように)ループブレイクのキーである番号をユーザーに要求する必要があります。

1

私は良いライブラリを使用していたので、JNativeHookライブラリを使用することができれば、簡単にこの問題を解決できます。ここで

は一例です:

残念ながら
import org.jnativehook.GlobalScreen; 
import org.jnativehook.NativeHookException; 
import org.jnativehook.keyboard.NativeKeyEvent; 
import org.jnativehook.keyboard.NativeKeyListener; 

public class TestEscKey implements NativeKeyListener{ 

    @Override 
    public void nativeKeyPressed(NativeKeyEvent nke) { 
     if(NativeKeyEvent.getKeyText(nke.getKeyCode()).equals("Echap")){ 
      System.out.println("I will exit!"); 
      System.exit(0); 
     }else{ 
      //do another thing 
     } 
    } 

    @Override 
    public void nativeKeyReleased(NativeKeyEvent nke) { 
    } 

    @Override 
    public void nativeKeyTyped(NativeKeyEvent nke) { 
    } 

    public static void main(String[] args) throws NativeHookException { 
     try { 

      GlobalScreen.registerNativeHook(); 
     } catch (NativeHookException ex) { 
      System.out.println("There was a problem registering the native hook.\n" 
           + ex.getMessage()); 
      System.exit(1); 
     } 
     GlobalScreen.getInstance().addNativeKeyListener(new TestEscKey()); 
    } 
} 
+0

何@ S.Nary ...? –

+0

第1オーバーライドは第2オーバーライドによって何をするのですか?これは私にとって初めてのことですか? –

+0

これはインターフェイス 'NativeKeyListener'のメソッドの実装ですので、jarをダウンロードして、それを任意のjarや依存関係のようなプロジェクトで使用する必要があります。新しいものですが、正しく使うことができればトリックです.Nary –

関連する問題