我创建了一个程序,使用Robot类在记事本中输出一些文本。将KeyListener添加到线程中
public class Main extends Thread implements KeyListener {
public Main() {
addKeyListener(this);
...
}
我想通过点击某个键来阻止它,这可能吗?我试图实现它并添加它,但它是一个编译错误。
我的课是Thread的一个子类。
我创建了一个程序,使用Robot类在记事本中输出一些文本。将KeyListener添加到线程中
public class Main extends Thread implements KeyListener {
public Main() {
addKeyListener(this);
...
}
我想通过点击某个键来阻止它,这可能吗?我试图实现它并添加它,但它是一个编译错误。
我的课是Thread的一个子类。
公共类主要继承Thread实现KeyListener的{
如果你看一下javadoc for the Thread class,你会看到,它不包含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(...);
编辑:要退出,你可以模拟组合键F4
。
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F4);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_F4);
请注意键释放命令。这对于从以前的键组合中解除键状态是必要的。 “
我会在你可能的时候接受你的答案,同时你有什么想法可以实现它吗?设置某种倾听者?我的意思是我正在寻找一种方法来通过键盘关闭程序 – 2013-02-12 19:32:48
您可以发送ALT + F4。查看更新... – Reimeus 2013-02-12 19:47:47
”*我试图实现它并添加它,但它是一个编译错误。*“=>在这种情况下,显示您的代码肯定会帮助... – assylias 2013-02-12 19:25:36
public class Main extends Thread implements KeyListener .... on构造函数我试过了:addKeyListener(this)这是一个编译错误 – 2013-02-12 19:26:39
请编辑你的问题并在其中添加代码。 – Saju 2013-02-12 19:30:25