Vérifier si un article existe déjà dans un JComboBox?
y a-t-il un moyen facile de vérifier si un élément existe déjà dans un JComboBox en plus d'itérer à travers ce dernier? Voici ce que je veux faire:
Item item = ...;
boolean exists = false;
for (int index = 0; index < myComboBox.getItemCount() && !exists; index++) {
if (item.equals(myComboBox.getItemAt(index)) {
exists = true;
}
}
if (!exists) {
myComboBox.addItem(item);
}
Merci!
19
demandé sur
BJ Peter DeLaCruz
2012-01-17 21:31:58
3 réponses
un DefaultComboBoxModel
et appeler getIndexOf(item)
pour vérifier si un élément existe déjà. Cette méthode sera de retour -1
si l'élément n'existe pas. Voici un exemple de code:
DefaultComboBoxModel model = new DefaultComboBoxModel(new String[] {"foo", "bar"});
JComboBox box = new JComboBox(model);
String toAdd = "baz";
//does it exist?
if(model.getIndexOf(toAdd) == -1 ) {
model.addElement(toAdd);
}
(notez que sous le capot,indexOf
n'en boucle sur la liste des articles pour trouver le produit que vous recherchez.)
28
répondu
dogbane
2012-01-17 17:41:36
Vérifier avec ceci:
if(((DefaultComboBoxModel)box.getModel()).getIndexOf(toAdd) == -1) {
box.addItem(toAdd );
}
ou
if(((DefaultComboBoxModel)box.getModel()).getIndexOf(toAdd) < 0) {
box.addItem(toAdd );
}
3
répondu
chepe lucho
2016-04-16 23:42:00
mise à Jour:
myComboBox.setSelectedIndex(-1);
String strItem="exists";
myComboBox.setSelectedItem(strItem);
if(myComboBox.getSelectedIndex()>-1){
//exists
}
-2
répondu
Ninja Coding
2015-09-08 18:16:38