Bonjour,
J'ai un petit problème en essayant de colorer le fond de chaque cellule d'une colonne.
J'ai créé un CellRenderer qui est ensuite assigné à ma colonne.
code du Renderer :
Normalement des objets Color sont stockés dans le tableau.
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 class ColorCellRenderer extends DefaultTableCellRenderer { private static final long serialVersionUID = 6936474360506531321L; public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); //System.out.println("value : "+value); //Color color = (Color)value; //System.out.println("couleur colonne "+column+" ligne "+row+" : "+color.toString()); setText(""); if(row==1){setBackground(Color.green);} if(row==4){setBackground(Color.blue);} if(row==5){setBackground(Color.orange);} //setBackground(color); setOpaque(true); //setEnabled(true); //setVisible(true); return this; }
Mais pour tester, j'ai forcé 3 couleurs pour trois cellules spécifiques avec setBackgroud
A l'affichage de mon tableau,aucune couleur n'est visible en premier lieu.
Il faut que je sélectionne la cellule pour effectivement voir la couleur définie...
Ça ne doit pas être grand chose, mais j'avoue tourner en rond...
Un petit coup de pouce ?
merci d'avance.
Loïc
Partager