Java външен Keylistener не отговаря

Искам да слушам въвеждането на клавиатурата, но не получавам KeyCode, но KeyListener трябва да бъде във външен клас

Main.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