# Tastenabfrage (KeyListener)



## Flo_1337 (10. Feb 2011)

Hallo,
Ich programmiere noch nicht sehr lange in Java (habs in der Schule seit nem halbem Jahr gelernt) und habe jetzt ein Problem.
Wir haben in der Schule eine Klasse "ZEICHENFENSTER.class" bekommen, die viele Sachen aus javax.swing.*; zu einfachen Methoden macht... Jetzt habe ich das Spiel Tetris geschrieben und das ging auch bis jetzt sehr gut doch ich komme bei den Tastatureingaben nicht weiter (Pfeiltasten). Bis jetzt kann man nur alles mit Buttons steuern.

Ich habe es mit einem KeyListener probiert doch der wollte nie was machen (keyPressed() usw haben nie was gemacht). Dann habe ich weitergegoogelt und fand heraus, das ich irgendwas mit dem Fokus machen muss und sich alles den Fokus nehmen kann. Muss ich jetzt ALLES was nen Fokus kriegen kann nen KeyListener geben oder muss ich alles sperren was nen Fokus kriegen kann???
Habs schon mit frame.requestFocus(); oder alle JButtons und JPanels sperren probiert oder mit meiner Hauptklasse: spielfeld.requestFocus(); und noch vieles mehr. Gibts da vlt. was einfacheres?

Was ich probierte (Ausschnitte):


```
class spielfeld extends Frame implements ActionListener, KeyListener{
    public spielfeld(){
        this.addKeyListener(this);
    }
    public void keyTyped(KeyEvent e){
            System.out.println("Du hast eine Taste gedrückt");	
    }
    public void keyPressed(KeyEvent e){}

    public void keyReleased(KeyEvent e){}
}
```

Hoffe ihr könnt mir helfen. ???:L


----------



## Attila (10. Feb 2011)

```
frame.addKeyListener(new KeyAdapter(){
    @Override
    public void keyPressed(KeyEvent e) {
        if ( e.getKeyCode() == KeyEvent.VK_DOWN ){
            //
        }
        if ( e.getKeyCode() == KeyEvent.VK_UP ){
            //
        }
        if ( e.getKeyCode() == KeyEvent.VK_LEFT ){
            //
        }
        if ( e.getKeyCode() == KeyEvent.VK_RIGHT ){
            //
        }
    }
});
```

Gruß Attila


----------



## Flo_1337 (10. Feb 2011)

Danke sehr Attila geht wirklich sehr gut!


----------

