G
Guest
Gast
Hallo
ich möchte Knoten in meinem Jtree mit unterscheidlichen Farben darstellen. Dazu habe ich einen eigenen Tree renderer geschrieben
Ich hatte vermutet, dass für "jeden" Knoten im Baum diese Funktion aufgerufen wird? Doch die Knoten werden zwar in den Farben gezeichnet, aber irgendwie willkürlich.
Ach ja, LayerdGraphNode ist die Klasse, aus denen mein Baum besteht, und "node.isVisible" hat nicht mit dem Baum direkt zu tun. Allerdinsg soll diese Funktion die Farbe des Knoten im Jtree bestimmen, und das klappt irgendwie nicht ganz.
[/code]
ich möchte Knoten in meinem Jtree mit unterscheidlichen Farben darstellen. Dazu habe ich einen eigenen Tree renderer geschrieben
Code:
public class MyTreeRenderer extends DefaultTreeCellRenderer {
public final Component getTreeCellRendererComponent(final JTree tree,
final Object value, final boolean sel, final boolean expanded,
final boolean leaf, final int row, final boolean hasfocus) {
super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf,
row, hasfocus);
LayeredGraphNode node = (LayeredGraphNode) value;
if(node.isVisible()==false){
super.setTextNonSelectionColor(Color.LIGHT_GRAY);
super.setTextSelectionColor(Color.DARK_GRAY);
}
else {
super.setTextNonSelectionColor(Color.BLUE);
super.setTextSelectionColor(Color.RED);
}
return this;
}
}
Ich hatte vermutet, dass für "jeden" Knoten im Baum diese Funktion aufgerufen wird? Doch die Knoten werden zwar in den Farben gezeichnet, aber irgendwie willkürlich.
Ach ja, LayerdGraphNode ist die Klasse, aus denen mein Baum besteht, und "node.isVisible" hat nicht mit dem Baum direkt zu tun. Allerdinsg soll diese Funktion die Farbe des Knoten im Jtree bestimmen, und das klappt irgendwie nicht ganz.
[/code]