Was ist der Unterschied zwischen ChangeListener
und ItemListener
für JCheckBox
und JRadioButton
? Beide funktionieren gut, wenn sie ausgewählt / abgewählt werden.
Ich weiß, dass einige Komponenten ChangeListener
nicht wie JComboBox
unterstützen. Abgesehen davon, dass ChangeListener
oder ItemListener
nur für einige Komponenten funktioniert. Gibt es einen Unterschied zwischen ihnen, wie wann werden sie erzeugt?
Jede Antwort ist willkommen. Vielen Dank im Voraus.
Beide Listener für JCheckBox
funktionieren ähnlich, da beide Ereignisse bei Änderung des Status auslösen, entweder durch Klicken oder durch Leertaste oder programmgesteuert durch doClick()
method (Ähnlich wie bei Mausklick). Ein Hauptunterschied besteht jedoch darin, dass der itemListener von JCheckBox über die setSelected(boolean
) -Methode ausgelöst werden kann, die es ermöglicht, das Ereignis basierend auf dem gewünschten Status auszulösen, während andere nur dann reagieren, wenn der Status geändert wird. Warum ist es wichtig? Berücksichtigen Sie beim Start der Anwendung die GUI, die für den definierten Status konfiguriert werden muss, und die Verwendung von setSelected
wird ItemListener auslösen. Beachten Sie, dass setSelected
exklusiv für ItemListener ist und keine Auswirkungen auf ActionListener hat. Registrieren Sie nicht sowohl ActionListener als auch ItemListener, da beide ausgelöst werden und die Komponente in einem zufälligen Zustand landen
ChangeListener wird nicht erkannt, wenn sich der Status der Schaltfläche ändert. ChangeListener wird nicht über Änderungen informiert, nur dass sich das Objekt geändert hat. Element Listener ist nur nicht zufrieden, wenn ein Element ausgewählt ist; nach Benutzer oder setSelected-Methode. Es stimmt auch nicht, dass ChangeListener nicht erkannt wird, wenn die setSelected-Methode aufgerufen wird. Es ist die Änderung des Objektstatus.
Tags und Links java swing awt changelistener itemlistener