Bonjour à tous,

Je cherche a écrire un model de JComboBox ou je peux a tous moment supprimer les items et ajouter d'autres items.

Le problème vient que je ne peux pas toujours sélectionner un item dans la liste déroulante.
Si je clique sur un item, il ne me le sélectionne pas toujours!

Voici ma classe Model:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public class MyComboBoxModel extends AbstractListModel implements ComboBoxModel {
	private ArrayList<String>  liste = new ArrayList<String>();
	private String selection;
 
 
	public MyComboBoxModel(){
	}
 
	@Override
	public void addListDataListener(ListDataListener arg0) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public Object getElementAt(int index) {
		// TODO Auto-generated method stub
		 return liste.get(index);
	}
 
	@Override
	public int getSize() {
		// TODO Auto-generated method stub
		return liste.size();
	}
 
	@Override
	public void removeListDataListener(ListDataListener arg0) {
		// TODO Auto-generated method stub
 
	}
 
	@Override
	public Object getSelectedItem() {
		// TODO Auto-generated method stub
		return selection;
	}
 
	@Override
	public void setSelectedItem(Object anObject) { 
		selection = (String) anObject;  
	}
 
	public void addItem(String liste2){
		liste.add(liste2);
		this.fireIntervalAdded(this, getSize(), getSize());
	}
 
	public void removeAllItems() {
		liste.clear();
		liste = new ArrayList<String>();
		selection="";
		this.fireIntervalRemoved(this, 0, getSize());
	}
 
	public ArrayList<String> getListe() {
		return liste;
	}
}
Voici l'init de la liste déroulante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 //Liste déroulante
        membre_masquer= new JComboBox(new MyComboBoxModel());
        membre_masquer_model= (MyComboBoxModel)membre_masquer.getModel();
        membre_masquer.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent event) {
				iSystem.out.println("test clique liste déroulante"+membre_masquer_model.getSelectedItem()+" | "+membre_masquer.getSelectedIndex());
				if(membre_masquer.getSelectedIndex()>=0){
						id_membre = Integer.valueOf((String) membres_masquer.get(membre_masquer.getSelectedIndex()).get(0));
						System.out.println("test clique liste déroulante"+id_membre);
					} 
            }               
		});
Quand je clique sur un item j'ai dans la console:
membre_masquer.getSelectedIndex() = -1
Donc ça me le sélectionne pas.

Voici comment je rafraîchi la liste:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
System.out.println("CLEAR");
    		membre_masquer_model.removeAllItems();
    		membres_masquer.clear();
    		membres_masquer=new ArrayList<ArrayList<Object>>();
    		for(int x=0;x<membres_connecter.size();x++){
 
    			membres_masquer.add(x, new ArrayList<Object>());
    			membres_masquer.get(x).add(0, String.valueOf(membres_connecter.get(x).getId()));
    			membres_masquer.get(x).add(1, membres_connecter.get(x));
    			membre_masquer_model.addItem(membres_connecter.get(x).getNom()+" "+membres_connecter.get(x).getPrenom());
    			System.out.println("ADD liste : "+membres_connecter.get(x).getNom()+" "+membres_connecter.get(x).getPrenom());
			}
Mon problème vient de la sélection d'un item.
J'ai l'impression que j'ai des problème lorsque:
-J'appel membre_masquer_model.removeAllItems();
-Je clique sur l'item déjà sélectionner auparavant

J'ai cherché des exemples de model de JComboBox avec ajout ou suppression d'item sur le net, mais je n'ai pas trouvé d’exemples.

Merci pour votre aide