Il renvoie l'index = 0. Parce que la méthode getSelectedIndex()
utilise .equals
sur les objets qui sont dans le JComboBox et le compare avec celui sélectionné. Dans votre cas car item1 est aussi à l'index 0, il trouve la condition true et renvoie 0. Si vous voulez obtenir un index différent, vous devez surcharger la méthode getSelectedIndex()
.
Un aperçu de la méthode par défaut getSelectedIndex()
de JComboBox trouvé à Java2s:
public int getSelectedIndex() {
Object sObject = dataModel.getSelectedItem();
int i, c;
Object obj;
for (i = 0, c = dataModel.getSize(); i < c; i++) {
obj = dataModel.getElementAt(i);
if (obj != null && obj.equals(sObject))
return i;
}
return -1;
}
Vous devriez avoir quelque chose [peut itemName être si l'objet de l'élément a un nom ou quoi que ce soit d'autre] différent dans 2 entrées pour obtenir résultat désiré. Remplacez getSelectedIndex()
et comparez la chose qui est censée être différente dans tous. Si les deux entrées sont complètement identiques alors quel est le point de l'ajouter deux fois?
Je devine que la méthode equals de chaque élément doit retourner false pour item1.equals (item1) (Object o) lorsque la fente comparant 0 et la fente 2. – MeBigFatGuy
@MeBigFatGuy: et pourquoi Tu penses? –
@ user709247, Veuillez poster le code correspondant. Vous avez déjà 3 personnes tirant dans l'obscurité, et pourtant aucune réponse cordiale de votre part. Réveillez-vous! – mre