1

KeyListenerインターフェイスを使い始めたばかりです。非常に単純なコンソール アプリケーションを作成したいと考えています。キー「ENTER」を押すと、プログラムに「こんにちは」と出力させたいと思います。残念ながら、私の知識不足により、キーボードのエンター/リターン キーを押しても何も起こりません。ユーザーが何かを入力するか、Enterキーを押して何かを実行する必要があるため、 Scanner クラスは使用していません。キーが押されて中断されるまでプロセスを続行したいと思います。これまでの私のコードは次のようになります。

import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;

public class Trash implements KeyListener {
   public void keyPressed(KeyEvent e){
      System.out.println("hi");
      switch (e.getKeyCode()) {
         case KeyEvent.VK_ENTER:
            System.out.println("hi");
      }
   }

   public void keyTyped(KeyEvent e){}

   public void keyReleased(KeyEvent e){}

   public static void main (String [] args){
      Trash obj1 = new Trash();
   }
}
4

1 に答える 1

2

KeyListenerは、GUIコンポーネントにのみ追加できます。コンソールアプリケーションでは使用できません。それがjava.awtサブパッケージに含まれている理由です。AWT = Abstract Window Toolkit、Javaの基本的なGUIツールキット。

コンソールでEnterキーが押されたときに「プロセス」を中断する場合は、プロセスにスレッドを使用する必要があります。また、標準入力から読み取り、何かが入力されたときに他のスレッドを中断する別のスレッドを使用する必要があります。

于 2012-06-22T18:54:21.197 に答える