我如何使用KeyListener接口?

时间:2012-06-22 18:38:33

标签: java listener keypress keylistener keyevent

我刚开始使用KeyListener界面。我想创建一个非常简单的控制台应用程序。如果我按下'ENTER'键,我希望程序打印“hi”。不幸的是,由于我缺乏知识,当我按下键盘上的输入/返回键时,没有任何反应。我没有使用Scanner类,因为它要求用户输入内容,或者只需按Enter键执行某些操作。我想要一个过程继续,直到被按键打断。这是我的代码到目前为止的样子:

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();
   }
}

1 个答案:

答案 0 :(得分:2)

KeyListener只能添加到GUI组件中。它不能在控制台应用程序中使用。这就是它在java.awt子包中的原因。 AWT = Abstract Window Toolkit,Java的基本GUI工具包。

如果你想在控制台中按下enter键时中断一个“进程”,你应该为你的进程使用一个线程,另一个线程从标准输入读取并在输入内容时中断另一个。