Conserver la couleur d'une ligne modifiée
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:
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:
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:
listeMessage.getColumnModel().getColumn(0).setCellRenderer(new ComposantsTableau());