Bonjour,
Comme le montre le code ci-dessous, j'ai envie de changer la forme de mon JTREE. J'utilise alors un Renderer. (ci-dessous, le code change la couleur de mon jtree).
Par contre ça change tout mon JTREE. Or j'ai juste besoin de mettre en gras les nœuds ayant certains attribues.
Le soucis c'est que je n'arrive pas a filtrer sur les attributs de mes nœuds, sachant que le Renderer les considère en STRING. Je sais donc pas comment faire le tri..
grosso modo, j'aimerai savoir s'il est possible d'envoyer un argument à mon rederer pour faire le filtre...
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
22
23
24 public class MyTreeCellRenderer extends DefaultTreeCellRenderer { @Override public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean exp, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, sel, exp, leaf, row, hasFocus); // Assuming you have a tree of Strings String node = (String) ((DefaultMutableTreeNode) value).getUserObject(); // If the node is a leaf and ends with "xxx" /* if (leaf && node.endsWith("red")) { // Paint the node in blue setForeground(new Color(13, 57 ,115)); }*/ setForeground(new Color(13, 57 ,115)); return this; } }
voilà comment j'appel mon Renderer :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part tree.setCellRenderer(new MyTreeCellRenderer());
Partager