Внешний Keylistener Java не отвечает

Я хочу слушать ввод с клавиатуры, но не получаю KeyCode, но KeyListener должен быть во внешнем классе

Основная.java:

public class Main {

    public static void main(String args[]){

        new Spielfeld("Spielfeld");
        new KeyEventListener();
    }

}

KeyEventListener.java

public class KeyEventListener implements KeyListener{

public KeyEventListener(){

}

@Override
public void keyPressed(KeyEvent e) {

    System.out.println(e.getKeyCode());

}

@Override
public void keyReleased(KeyEvent arg0) {}

@Override
public void keyTyped(KeyEvent arg0){}

}

Извините, я новичок в Java и не знаю, как это исправить...


person Sebastian Schneider    schedule 10.06.2015    source источник
comment
Вы читали это? docs.oracle.com/javase/tutorial/uiswing/events/keylistener. html В настоящее время ваш слушатель нигде не зарегистрирован с помощью addKeyListener().   -  person Tilman Hausherr    schedule 10.06.2015


Ответы (1)


Вам нужно добавить keyListener к любому компоненту, такому как JTextField,

Вот хороший пример:

public class KeyEventDemo ...  implements KeyListener ... {
    ...//where initialization occurs:
        typingArea = new JTextField(20);
        typingArea.addKeyListener(this);


    ...
    /** Handle the key typed event from the text field. */
    public void keyTyped(KeyEvent e) {
        displayInfo(e, "KEY TYPED: ");
    }

    /** Handle the key-pressed event from the text field. */
    public void keyPressed(KeyEvent e) {
        displayInfo(e, "KEY PRESSED: ");
    }

    /** Handle the key-released event from the text field. */
    public void keyReleased(KeyEvent e) {
        displayInfo(e, "KEY RELEASED: ");
    }

Подробнее о слушателях: здесь

person Neeraj Jain    schedule 10.06.2015