Bonjour à tous,

Je tente, tant bien que mal, à changer le background color de ma JXTreeTable, chose que je fais d'habitude facilement avec une JTable.
J'ai procédé comme ceci :
- j'ai créé une inner-classe (pour accéder à ma JXTreeTable) qui étend de DefaultTableCellRenderer et j'ai redéfinie la méthode getTreeCellRendererComponent.

Voici le code, qui est supposé changer la couleur de toutes les lignes qui sont de type BOQWoodwork :
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
 
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            Object o = treeTable.getValueAt(row, -1); // Récupere le defaultMutableTreeTableNode à la ligne fourni en paramètre
            Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            if(o!=null){
                DefaultMutableTreeTableNode node = (DefaultMutableTreeTableNode) o;
 
                if(node.getUserObject() instanceof BOQWoodwork){
                    comp.setForeground(Color.BLUE);
                    comp.setBackground(Color.YELLOW);
 
 
                }
            }
            return comp;
        }
Malheureusement ca ne fonctionne uniquement quand je clique sur la ligne...comme ci l'appel était paresseux et pourtant si veux changer la couleur de toutes les cellules en appliquant cette méthode, ca fonctionne impec.

Je n'y comprend rien, est ce que quelqu'un à une idée ?

Merci et Bonne année avec un peu d'avance !