Proszę o wytłumaczenie dlaczego jeśli podłączam KeyListenera pod jakiś button to nie mam problemów. Ale jeśli próbuję to samo zrobić pod klasę która jest rozszerzona o JPanel to nie działa mi to jak trzeba.
Code: Zaznacz cały
class JakasKlasa extends JPanel {
JakasKlasa() {
// tu instrukcje
this.addKeyListener(new KeyListener()
// tu sa zaimplementowane metody odpowiednie np:
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT){
System.out.println("Prawo");
}
if (e.getKeyCode() == KeyEvent.VK_LEFT){
System.out.println("Lewo");
}
if (e.getKeyCode() == KeyEvent.VK_DOWN){
System.out.println("Dół");
}
if (e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("Góra");
}
})
}
}
Nie rozumiem dlaczego niby nie zgłasza zadnego błedu i nie dziala. Może z JPanel trzeba zrobic to inaczej?
Pozdrawiam i dziękuję za pomoc.