KeyListener有时只能工作

时间:2013-02-26 01:10:34

标签: java awt keylistener

我正在编写游戏,我刚刚尝试添加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次。也许更少。关于这是为什么的任何想法?

1 个答案:

答案 0 :(得分:1)

应该在keyTyped中调用getKeyChar。其他两种方法中的getKeyCode() == KeyEvent.VK_A