Voila a quoi j'arrive pour le moment, mais ce n'est pas encore super. Seul le noeud qui contient la valeur ne ce met a jaune.
private class MyTreeCellRenderer extends DefaultTreeCellRenderer
{
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel,
boolean expanded,
boolean leaf, int row,
boolean hasFocus)
{
Component cComponent = super.getTreeCellRendererComponent(tree, value, sel,
expanded, leaf, row, hasFocus);
//String text = tree.convertValueToText(value, sel,expanded, leaf, row, hasFocus);
DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode)value;
if(dmtn.getUserObject().toString().contains("100" ))
{
setColorParent(dmtn);
}
return cComponent;
}
private void setColorParent(DefaultMutableTreeNode pm_dmtnNode)
{
if(pm_dmtnNode==null)return;
String s = pm_dmtnNode.getUserObject().toString();
JLabel l = new JLabel(s);
l.setForeground(Color.RED);
pm_dmtnNode.setUserObject(l);
System.out.println("pm_dmtnNode.getUserObject().toString()=" + pm_dmtnNode.getUserObject().toString());
this.setForeground(Color.black.YELLOW);
setColorParent(pm_dmtnNode.getPreviousNode());
}
}