java KeyListener和boolean不起作用
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class Main {
static boolean check = false;
static boolean boom = true;
public static void main(String[] args) throws Exception{
do{
if(check == true){
Robot r = new Robot();
r.delay(1000);
r.keyPress(KeyEvent.VK_DECIMAL);
r.keyRelease(KeyEvent.VK_DECIMAL);
r.keyPress(KeyEvent.VK_M);
r.keyRelease(KeyEvent.VK_M);
r.keyPress(KeyEvent.VK_E);
r.keyRelease(KeyEvent.VK_E);
r.keyPress(KeyEvent.VK_N);
r.keyRelease(KeyEvent.VK_N);
r.keyPress(KeyEvent.VK_U);
r.keyRelease(KeyEvent.VK_U);
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
}
}while(boom == true);
}
public void keyPressed(KeyEvent e){
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_F9){
check = true;
boom = true;
}
if(keyCode == KeyEvent.VK_F11){
check = false;
boom = false;
}
}
}
这是我的代码,我希望它像这样工作: 按F9键时,它应该开始写入。菜单,按F11键时应停止。 有什么帮助吗
# 1 楼答案
没有可供KeyListener监听的GUI组件。KeyListener要求将它们添加到渲染GUI中的组件中,并且被监听的组件具有焦点。你的应用程序没有这些功能。我甚至没有在代码中看到KeyListener对象
如果您想创建一个侦听关键事件的GUI,请考虑学习如何在Swing tutorials上创建java Swing GUI,然后考虑使用Key Bindings代替低级侦听器,例如KEKListInter。p>
另一方面,如果您希望创建一个没有GUI的通用键盘记录程序,那么我建议您不要使用Java,而是使用其他语言,以便与操作系统进行更紧密的集成