[JCombobox] Impossible de changer la sélection
Bonjour à tous !
J'ai de gros soucis avec les combobox, et ça m'arrive régulièrement depuis plusieurs mois.
Lorsque je créé un model et que je l'affecte il s'affiche correctement mais je n'arrive pas à changer la sélection que ce soit visuellement ou par le code.
Je vous montre mon comboboxmodel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| class UserComboboxModel extends AbstractListModel implements ComboBoxModel{
private List<User> source;
private Object selectedItem;
public UserComboboxModel(List<User> users) {
this.source = users;
}
@Override
public Object getSelectedItem() {
return selectedItem;
}
@Override
public void setSelectedItem(Object anItem) {
selectedItem = anItem;
fireContentsChanged(this, -1, -1);
}
@Override
public Object getElementAt(int arg0) {
if(arg0 <= getSize()) {
return source.get(arg0);
}
return null;
}
@Override
public int getSize() {
return source.size();
}
} |
Voici la façon dont j'affecte ce modèle (on ne sait jamais...) :
Code:
1 2 3 4
| private void populateCombobox(List<User> source) {
UserComboboxModel ucm = new UserComboboxModel(source);
cmbUsers.setModel(ucm);
} |
Et voilà.
En gros il ne veut sélectionner sur le premier item pour les autres il ne veut rien savoir. Quoique je fasse la sélection est bloquée sur le premier item, même avec un setSelectedIndex(int index).
C'est loin d'être la première fois que je rencontre ce problème. :?
Est-ce un souci lié au niveau de mon code ?
Je vous remercie d'avance pour votre aide !