Bonjour ce problème va paraître tres basic pour certain (enfin j'espère...) mais j'ai beau avoir lu et essayé de nombreuse solution sur les forums, je reste bloqué!!

dans une JTable, j'ai des cellules qui contiennent des JCombobox avec des couleurs. Or un utilisateur ne peut selectionner qu'un certain nombre de fois la même couleur (disons 3 fois) et donc, si il essaye de selectionner pour la 4eme fois rouge, un message s'affiche et la JCombobox devrait se remettre sur la couleur par default... mais ca ne marche pas...

voici le code pour illustrer mon problème :
insertion de la JCombobox dans la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Object[] couleurs = metier.recupererCouleur();
//la JTable
lesCouleurs = new JTable(new CouleurTableModel(reserve.getLesCouleur(), couleur[0]));
 
TableColumn col = lesCouleurs.getColumnModel().getColumn(3);
//LA JCombobox
couleursCombo = new JComboBox(couleurs);
couleursCombo.setEditable(false);
couleursCombo.setSelectedIndex(0);
couleursCombo.addPopupMenuListener(this);
col.setCellEditor(new DefaultCellEditor(couleursCombo));
puis l'implementation du listener (PopupMenuListener) :
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
 
public void popupMenuWillBecomeInvisible(PopupMenuEvent arg0) {
		JComboBox combo = (JComboBox)arg0.getSource();
		//on retire un si la couleur choisie est rouge
		if(new CouleursExistantes().estCouleurRouge((Color)combo.getSelectedItem()))
				this.nbColeurRouge -= 1;
		//je recupere le nombre de rouge possible a afficher
		int nbRestante = Integer.parseInt(this.nbRougeRestant.getText());
		//si il n'y en a plus j'affiche le message d'erreur et je met la couleur par default
		if(nbRestante <= 0){
			JOptionPane.showMessageDialog(this,"Vous n'avez plus de couleurs rouge" );
			combo.setSelectedIndex(0);// je reselectionne noir
			//mais ca ne fonctionne pas!!!!
		}else
			this.nbRougeRestant.setText(nbRestante+this.nbColeurRouge +"");
		this.nbColeurRouge = 0;
 
	}
 
	public void popupMenuWillBecomeVisible(PopupMenuEvent arg0) {
		//on ajoute 1 au compteur si la couleur precedente etait deja rouge
		JComboBox combo = (JComboBox)arg0.getSource();
		if(new CouleursExistantes().estCouleurRouge((Color)combo.getSelectedItem()))
			this.nbColeurRouge += 1;		
	}
Voilà, je butte la dessus depuis quelques jours, si quelqu'un peu me donner un piste, ca serait super!

merci d'avance,
night

ps: bonne année à tous