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 :
Voici la façon dont j'affecte ce modèle (on ne sait jamais...) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
Et voilà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void populateCombobox(List<User> source) { UserComboboxModel ucm = new UserComboboxModel(source); cmbUsers.setModel(ucm); }
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 !
Partager