J'essaie de déclencher un événement chaque fois qu'un choix est fait à partir d'un fichier JComboBox
.
Le problème que j'ai, c'est qu'il n'y a pas de addSelectionListener()
méthode évidente .
J'ai essayé de l'utiliser actionPerformed()
, mais il ne se déclenche jamais.
À moins de remplacer le modèle pour le JComboBox
, je suis à court d'idées.
Comment être informé d'un changement de sélection sur un JComboBox
? **
Edit: Je dois m'excuser. Il s'avère que j'utilisais une sous-classe de JComboBox
, mais je laisse la question en suspens car votre réponse est bonne.
java
swing
jcombobox
itemlistener
Allain Lalonde
la source
la source
Réponses:
Il doit répondre à ActionListeners , comme ceci:
@John Calsbeek souligne à juste titre que
addItemListener()
cela fonctionnera également. Vous pouvez cependant en obtenir 2ItemEvents
, un pour la désélection de l'élément précédemment sélectionné et un autre pour la sélection du nouvel élément. N'utilisez pas les deux types d'événements!la source
Exemple de code d'
ItemListener
implémentationMaintenant, nous n'obtiendrons que l'élément sélectionné.
Ensuite, ajoutez simplement un auditeur à votre JComboBox
la source
J'essaierais la
itemStateChanged()
méthode de l'ItemListener
interface si la solution de jodonnell échoue.la source
Voici la création d'un ComboBox en ajoutant un écouteur pour le changement de sélection d'élément:
la source
Vous pouvez essayer ces
-ou-
-ou-
la source
Je cherchais récemment cette même solution et j'ai réussi à en trouver une simple sans attribuer de variables spécifiques pour le dernier élément sélectionné et le nouvel élément sélectionné. Et cette question, bien que très utile, n'a pas fourni la solution dont j'avais besoin. Cela a résolu mon problème, j'espère que cela résoudra le vôtre et d'autres. Merci.
Comment obtenir le précédent ou le dernier article?
la source