0

我创建了一个程序,它使用 Robot 类在记事本上输出一些文本。

public class Main extends Thread implements KeyListener {

  public Main() {
     addKeyListener(this);
     ...
  }

我想通过单击某个键来停止它,可以吗?我试图实现它并添加它,但这是一个编译错误。

我的类是 Thread 的子类。

4

1 回答 1

0

公共类 Main 扩展 Thread 实现 KeyListener {

如果您查看Thread 类的 javadoc,您会发现它不包含该addKeyListener方法,因此会出现编译错误。

但是请注意,在使用时,java.awt.Robot您关心的是发出 KeyEvents而不是监听它们:

Robot robot = new Robot(); 
 // Create a delay of 5 sec so that you can open notepad 
robot.delay(5000);
robot.keyPress(...); 

编辑:要退出,您可以模拟组合键ALT+ F4

robot.keyPress(KeyEvent.VK_ALT);  
robot.keyPress(KeyEvent.VK_F4);  
robot.keyRelease(KeyEvent.VK_ALT);  
robot.keyRelease(KeyEvent.VK_F4);

注意按键释放命令。这是从先前的组合键中分离键状态所必需的。

于 2013-02-12T19:31:34.413 回答