我正在编写游戏,我刚刚尝试添加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.");
}
这段代码可能只运行了10次。也许更少。关于这是为什么的任何想法?
答案 0 :(得分:1)
应该在keyTyped中调用getKeyChar。其他两种方法中的getKeyCode() == KeyEvent.VK_A
。