java ActionListener + KeyListener

0

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

0

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

0

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;
		}

	}
};
0

dobra juz sobie poradzilem.... troche na okolo ale dziala... (do kazdego obiektu graficznego dodalem addKeyListener(this)...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1