Hi I had a problem coloring a specific node in a jtree, because it was coloring the entire nodes in the tree. Then i found out through this forum how to paint only the nodes that i want using the code bellow: jTree1.setCellRenderer(new DefaultTreeCellRenderer() { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); if (((DefaultMutableTreeNode)value).getUserObject().toString().equals("blue node")) setForeground(Color.blue); else setForeground(Color.red); return this; } }); it works great, the only problem is that the tree renderer updates the colors in case of a change. for example if i have a node who's object is a String "blue node", if i change this string to something else, it will automaticly change its color to red, and i dont want that to happen. anyone knows how can it be done? Thanks
Garandi Garandi
Ranch Hand
Joined: Jan 07, 2003
Posts: 192
posted
0
Change
add more if statement and that should do the job for you Thank you Garandi