problème de couleur de cellule dans une JTable
Bonjour à tous!
Au début j'avais remonté un ancien sujet mais je me suis aperçu qu'il y avait le tag "résolu" donc cela peut induire que personne ne va aller lire ce topic!
Voilà mon problème:
je veux colorier les cellules d'une JTable en fonction de leur numéro de ligne... j'ai donc testé ce code:
Code:
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 26 27 28 29 30 31 32 33 34
| public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column){
//D'abord, récupérer le composant :
Component retour = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
// Mon traitement...
//Modifier la couleur
if(column == 1){
//Appliquer les modification sur le composant de retour if (!myTools.verifRename(texte)) {
retour.setBackground(new java.awt.Color(255,51,51));
}
else if (myTools.dplc(cheminPlan, texte + extension)){
//Appliquer les modification sur le composant de retour
retour.setBackground(new java.awt.Color(255,255,102));
}
else if (row%2==0) {
//Appliquer les modification sur le composant de retour
retour.setBackground(new java.awt.Color(220,220,220));
}
else {
//Appliquer les modification sur le composant de retour
retour.setBackground(new java.awt.Color(255,250,222));
}
}
else{
//Appliquer les modification sur le composant de retour
retour.setBackground((row%2==0)?new java.awt.Color(220,220,220):new java.awt.Color(255,250,222));
}
//retourner le composant
return retour;
} |
En le modifiant à ma façon mais cela ne marche pas ou plutôt je viens de tester le code proposé mais en fait Eclipse me met une erreur sur cette ligne:
Code:
Component retour = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
Et je comprends pas vraiment pourquoi... en fait je me dis que je ne peux pas utiliser une fonction que je suis en train de définir, si?
Bref, si quelqu'un peut m'aider, je lui en serais très reconnaissant!
Je tiens à préciser que eclipse ne me propose rien du tout comme solution intuitive!
De plus je fais ceci pour définir à quoi j'applique mon TableCellRenderer:
Code:
maTable3.setDefaultRenderer(Color.class, new ColorTableCellRenderer());
Merci d'avance et bonne journée à tous!