0

我正在写一个游戏,我刚刚尝试添加 KeyListener。我有使用包括 KeyListeners 在内的 java 经验,但由于某种原因,我无法弄清楚为什么这段代码只在某些时候有效。

这是我的监听器功能:

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 次有效。甚至可能更少。关于为什么会这样的任何想法?

4

1 回答 1

1

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

于 2013-02-26T07:23:00.603 回答