Ajouter des éléments à un JComboBox
- Je utiliser une zone de liste modifiable sur le panneau et comme je sais que nous pouvons ajouter des éléments avec le texte seul
comboBox.addItem('item text');
Mais parfois j'ai besoin d'utiliser une certaine valeur de l'élément et l'élément de texte comme dans le html, sélectionnez:
<select><option value="item_value">Item Text</option></select>
Est-il possible de définir à la fois la valeur et le titre dans la boîte combo article?
Pour l'instant j'utilise une table de hachage pour résoudre ce problème.
source d'informationauteur Nickolay Kondratenko
Vous devez vous connecter pour publier un commentaire.
Envelopper les valeurs dans une classe et de remplacer les
toString()
méthode.Ajouter le ComboItem de votre zone de liste déroulante.
Chaque fois que vous obtenez l'élément sélectionné.
Vous pouvez utiliser n'importe quel Objet comme un élément. Dans cet objet, vous pouvez avoir plusieurs champs dont vous avez besoin. Dans votre cas, le champ de valeur. Vous devez surcharger la méthode toString() pour représenter le texte. Dans votre cas, "le texte d'un élément". Voir l'exemple:
addItem(Objet) prend un objet. La valeur par défaut JComboBox rendu d'appels toString() sur cet objet et c'est ce qui montre que le label.
Donc, ne passe pas dans une Chaîne de addItem(). Passer dans un objet dont la méthode toString() renvoie l'étiquette que vous voulez. L'objet peut contenir n'importe quel nombre d'autres champs de données.
Essayer de passer dans votre zone de liste déroulante et voir comment ça rend. getSelectedItem() retourne l'objet, vous pouvez lancer le retour à un Widget d'obtenir la valeur d'.
Appel de la méthode
setSelectedIndex("item_value");
ne fonctionne pas parce quesetSelectedIndex
utilisation indice séquentiel.