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