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:
sauf que si je clique sur une autre ligne , ca me remet la couleur rouge >_<
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if(isSelected) { setBackground(Color.WHITE);} else setBackground(Color.RED);
Comment conserver la couleur d une ligne meme si j enclique sur une autre ?
Merci bien
mon renderer en entier:
et comment je l ' appelle
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; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part listeMessage.getColumnModel().getColumn(0).setCellRenderer(new ComposantsTableau());
Partager