我正在编写一个游戏,我刚刚尝试添加 KeyListener。我有使用 java 的经验,包括 KeyListeners,但由于某种原因,我无法弄清楚为什么这段代码只能在某些时候起作用。
这是我的监听器函数:
public void Listener() {
System.out.println("[INFO] Listener() Ran.");
KeyListener kl = new KeyListener() {
public void keyPressed(KeyEvent e) {
if(e.getKeyChar()=='a'){
System.out.println("[DEBUG] A Pressed.");
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
};
panel.addKeyListener(kl);
System.out.println("[DEBUG] panel added KeyListener.");
}
这段代码在我运行它的时候可能只有十分之一。也许更少。关于为什么会这样的任何想法吗?
最佳答案
应该在 keyTyped 中调用 getKeyChar。其他两个方法中的 getKeyCode() == KeyEvent.VK_A
。
关于java - KeyListener 仅有时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15079612/