Witam
Pisząc małą aplikację graficzną wykorzystującą Swing dodałem do GUI JCheckBox, który po zaznaczeniu lub odznaczeniu generuje zdarzenie które jest przechwytywane tak samo jak zdarzenie innych komponentów GUI w metodzie actionPerforme(), gdy metoda przechwyci zdarzenie wygenerowane przez ten komponent, powinna zmienić wartość zmiennej typu boolean na przeciwną, niestety tego nie robi i nie mam pojęcia co jest źle.
public class Interfejs implements ActionListener { //klasa tworząca GUI
// inne zmienne składowe , głównie puste referencje do których zostanie później przypisane obiekty pozostałych komponentów
//.
//.
private JCheckBox plik;
private boolean czyplik=false ; // zmienna przechowująca wartość która miał zmienić słuchacz zdążeń
public Interfejs() { //kostruktor
//tworzy ramkę i komponenty
//.
//.
// między innymi:
plik=new JCheckBox("Zapis w pliku");
plik.setBounds(200, 140, 100, 40);
plik.setActionCommand("plik");
ramka.add(plik);// ramka to główne okienko (obiekt klasy JFrame)
}//zamyka konstruktor
public void actionPerformed(ActionEvent ae) { //Przechwytuje zdążenia
//.
//.
if(ae.getActionCommand().equals("plik")) //sprawdza czy JCheckBox wygenerował zdarzenie i powinna zmienic wartość zmiennej 'czyplik' na odwrotną lecz tego nie robi
{
if(czyplik==false) czyplik=true;
if(czyplik==true) czyplik=false;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Interfejs();
}
}