Bonjour, je souhaiterais retrouver l'index d'un item dans une jComboBox.
Pour pouvoir faire un setSelectedItem, le choix de l'item pouvant se faire ailleurs
merci
Bonjour, je souhaiterais retrouver l'index d'un item dans une jComboBox.
Pour pouvoir faire un setSelectedItem, le choix de l'item pouvant se faire ailleurs
merci
De quel type sont tes Item dans ta JComboBox ?
Avec getItemCount tu sais combien il y a d'items dans ta liste. Tu boucles, et avec getItemAt tu récupères à l'index i et tu regardes si c'est celui que tu veux ...
Sinon teste ça :
qui devrait marcher si tu n'as pas spécifié le model de ta JComboBox (par défaut, c'est un DefaultComboBoxModel)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((DefaultComboBoxModel)maJComboBox.getModel()).getIndexOf(maString)
Pas testé mais je doute que ça marche ... la String n'est pas contenue dans la liste, c'est une String "equals" qui est contenue et je ne pense pas que indexOf se base sur equals mais sur ==
c'est une jList et pas une jComboBox, sorry
Ah ? Il serait alors un des rares à ne pas respecter la logique d'une List Java (http://java.sun.com/javase/6/docs/ap...a.lang.Object))Envoyé par chtig
Alors tente :Envoyé par nutix2003
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((DefaultListModel)maJList.getModel()).indexOf(maString)
Oui, c'est vrai, dans les listes ça fonctionne ... Eh bien à tester ^^ (je veux bien savoir le résultat du test, n'ayant pas de quoi tester ici ...)
"renvoie rien" ? késako ? Une exception ? -1 ?Envoyé par nutix2003
Ca ne doit pas renvoyer rien, sinon c'est ta JVM qui buggue hein
Une exception ou -1, ce n'est pas rien
Si ca passe à la compilation et que ça renvoie -1, c'est que ta string ne doit pas être dans la liste...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2java.lang.ClassCastException: appli.MainJFrame$84 cannot be cast to javax.swing.DefaultListModel
Comment initialises-tu ta JList ? As-tu redéfinis un ListModel que tu lui passes en paramètre ?
Si oui, alors en faisant getModel() tu récupères cet objet, à toi de faire le bon cast qu'il faut et d'invoquer la bonne méthode (que tu devras peut être écrire toi même - parcourir les éléments et tester avec le equals sur chacuns).
Si non, alors tu as du utiliser un vector ou un tableau... Utilises ces objets pour retrouver l'indice de l'élément (la méthode indexOf pour un Vector, sinon tu dois écrire ta méthode si tu utilises un tableau)
Bonne chance
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager