n.parker
n.parker

Reputation: 21

KeyListener only sometimes works

I am writing a game and I have just tried to add the KeyListener. I have experience with java including KeyListeners but I for some reason cannot figure out why this code only works some of the time.

Here is my listener function:

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.");
}

This code works probably only 1 out of 10 times that I run it. Maybe even less. Any ideas on why this is?

Upvotes: 0

Views: 474

Answers (1)

Joop Eggen
Joop Eggen

Reputation: 109557

The getKeyChar should be called in the keyTyped. The getKeyCode() == KeyEvent.VK_A in the other both methods.

Upvotes: 1

Related Questions