我正在开发一款使用 Keyevents 的 Java 游戏。基本上,它是一个我想要增强的模板,但现在我正在努力解决一些基本的问题。就这样:
在 keyPressed() 方法中有许多事件,如下所示:
public void keyPressed(int key) {
switch (key) {
case KeyEvent.VK_A:
System.out.println("A");
methodA();
break;
case KeyEvent.VK_B:
System.out.println("B");
methodB();
break;
}
}
但是,当我尝试添加另一个 KeyEvent(例如 KeyEvent.VK_1
)时,它不起作用/无法识别该键。这是为什么?我错过了什么吗?
最佳答案
KeyListener
有一个众所周知的问题。为了接收按键事件,它所注册的组件必须是可聚焦的并且具有焦点。按键事件也有可能在到达您的监听器之前被消耗(由您注册的组件)。
相反,你应该是Key Bindings ,这将为您提供更大的灵 active 来确定如何处理关键事件
关于java - 为什么我的按键事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137466/