Ich versuche, ein Ereignis zum Feuern zu bringen, wenn eine Auswahl aus a getroffen wird JComboBox
.
Das Problem, das ich habe, ist, dass es keine offensichtliche addSelectionListener()
Methode gibt.
Ich habe versucht zu verwenden actionPerformed()
, aber es wird nie ausgelöst.
Ohne das Modell für das zu überschreiben JComboBox
, habe ich keine Ideen mehr.
Wie werde ich über eine Auswahländerung bei a benachrichtigt JComboBox
? **
Edit: Ich muss mich entschuldigen. Es stellt sich heraus, dass ich eine schlecht benommene Unterklasse von verwendet habe JComboBox
, aber ich werde die Frage offen lassen, da Ihre Antwort gut ist.
java
swing
jcombobox
itemlistener
Allain Lalonde
quelle
quelle
Antworten:
Es sollte auf ActionListener wie folgt reagieren :
@ John Calsbeek weist zu Recht darauf hin, dass dies
addItemListener()
auch funktionieren wird. Möglicherweise erhalten Sie jedoch 2ItemEvents
, eine für die Abwahl des zuvor ausgewählten Elements und eine für die Auswahl des neuen Elements. Verwenden Sie einfach nicht beide Ereignistypen!quelle
Codebeispiel für die
ItemListener
ImplementierungJetzt erhalten wir nur noch ausgewählte Artikel.
Fügen Sie dann einfach einen Listener zu Ihrer JComboBox hinzu
quelle
Ich würde die
itemStateChanged()
Methode derItemListener
Schnittstelle ausprobieren, wenn Jodonnells Lösung fehlschlägt.quelle
Hier wird eine ComboBox erstellt, in der ein Listener für die Änderung der Elementauswahl hinzugefügt wird:
quelle
Sie können diese versuchen
-oder-
-oder-
quelle
Ich habe kürzlich nach der gleichen Lösung gesucht und es geschafft, eine einfache zu finden, ohne bestimmte Variablen für das zuletzt ausgewählte Element und das neu ausgewählte Element zuzuweisen. Und diese Frage war zwar sehr hilfreich, bot aber nicht die Lösung, die ich brauchte. Dies hat mein Problem gelöst, ich hoffe es löst dein und andere. Vielen Dank.
Wie bekomme ich den vorherigen oder letzten Artikel?
quelle