Bonjour,

J ' ai une JTable que je remplis avec une arrayList
La premiere colonne contient un JLabel qui au moyen d un cell renderer definit sa couleur comme etant rouge.

Je voudrais faire en sorte que lorsque je clique sur une autre ligne , ca me met la couleur comme etant blanche.

Ca marche moyennement en faisant ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  if(isSelected)
			{ setBackground(Color.WHITE);}
	   else
          setBackground(Color.RED);
sauf que si je clique sur une autre ligne , ca me remet la couleur rouge >_<
Comment conserver la couleur d une ligne meme si j enclique sur une autre ?

Merci bien

mon renderer en entier:

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
public class ComposantsTableau extends DefaultTableCellRenderer {
 
		private static final long serialVersionUID = 1L;
		String path="Lu.jpg";
		ImageIcon icon = new javax.swing.ImageIcon(getClass().getResource(path));
		  public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
		      boolean hasFocus, int row, int column) {
			 // this.setText("case " + row + ", " + column);
		    //this.setText((String) value);
			 // this.setHorizontalAlignment(SwingConstants.LEFT);
			 if(isSelected)
			{
				  setBackground(Color.WHITE);
					//setIcon(null);
			}
			else
				 setBackground(Color.RED);
				 //setIcon(icon);
			return this;
		  }
		}
et comment je l ' appelle

Code : Sélectionner tout - Visualiser dans une fenêtre à part
listeMessage.getColumnModel().getColumn(0).setCellRenderer(new ComposantsTableau());