mam taki maly problem... jak polacze ActionListener z KeyListener w jednej klsie rozszerzajacej JFrame to nie dziala obsluga KeyListener... czemu i jak temu zaradzic moze ktos wie ? ten sam kawalek kodu bez ActionListenera obsluguje mi poprawnie klawiature...
może nazwałeś tak samo zmienne z listenerami (np. z jakiegoś kursu jakbyś kopiował :P ), hmmm, a dodałeś linijki:
addActionListener(...); i addKeyListener(...); ??
A no tak, teraz kapnąłem się :) W klasach rozszerzających nie działają listener'y :( Przynajmniej niektóre jeśli nie wszystkie, jak miałem klasę rozszerzającą JPanel o wyświetlanie obrazków to nie dało się na nim nawet layout'u box'owego ustawić...
to moze troche inzczej sformuluje moj problem... chce napisac mal gre... jeden JFrame w ktorym sa 2 JPanele w jednym Jpanelu sa 2 przciski..(start stop) i do nich pododawane ActionListener-y a 2 jPanelu wlasna implementacja z graphics2d (zalozmy ze wyswietla kwadracik) i teraz przy pomocy KeyListener-a ma on byc przesowany strzalkami.. z klawiatury... no i to nie dziala... gdy milem jednego JPanel bez przyciaków ta taki wycinek kodu dzialal bez problemow... a z dodatkowym JPanelem nie dzial gdzie tkwi problem...
.....
addKeyListener(ka);
Watek s=new Watek();
s.start();
pack();
show();
}
KeyAdapter ka=new KeyAdapter(){
public void keyPressed(KeyEvent e){
switch(e.getKeyCode()){
case 37:if(kier==-1)kier=1; break;
case 38:if(kier==-1)kier=2;break;
case 39:if(kier==-1)kier=3;break;
case 40:if(kier==-1)kier=4;break;
}
}
};
dobra juz sobie poradzilem.... troche na okolo ale dziala... (do kazdego obiektu graficznego dodalem addKeyListener(this)...)