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 に答える