Witam.
Mam pewien problem z appletem. Objasnienie moze sie wydać trochę zagmatwane ale sadzę, że lepiej nie potrafię tego opisać. A więc do rzeczy:
Kiedy wywołuję z głownej klasy appletu metodę resetującą i ustawiającą ustawienia planszy (robię grę typu puzzle a zmieniam to za pomocą przycisku) to przestaje mi dzialac "KeyListener". Pomijam co obie metody robią ponieważ jak zauważyłem nie ma to znaczenia (po zakomentowaniu odpowiednich fragmentow kodu dzialo sie dokladnie to samo).
Co zrobić aby po nacisnieciu przycisku KeyListener dzialal dalej poprawnie.
oto okrojony przyklad kodu dla ktorego to powinno dzialac to!
Kod:
[b]Deklaracja przycisku[/b]
...
ImageIcon im = new ImageIcon("obrazki/"+i+".png");
JButton b = new JButton(im);
final int a = i;
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
plansza.startt(a); //po nacisnieciu przycisku zmienia sie plansza (nie mylic ze start() w applecie!!
}
});
//*/
p.add( b );
...
Kod:
[b]metoda startt w klasie ktora reprezentuje obiekt plansza[/b]
public void startt(int i){
... // co by tu nie bylo i tak pozniej nie dziala ten key listener!:/
}
Trzeba dodac, że metoda start jest uzywana przy tworzeniu obiektu plansza i potem wszystko dziala (niestety tylko dla przypadku zaladowania po raz pierwszy planszy jesli chcę ja rozpocząć od nowa znów nie działa key listener). Co więcej MouseListener oraz MouseMotionListener dziala ciągle poprawnie także już nie wiem o co chodzi.
Byćmoże ważne jest ze obiekt plansza dziedziczy z JComponent czyli jest takim sobie panelem a przyciski sa na drugim panelu.