Hallo.
Ich will mit einem TreeModel einen Baum abbilden, der aber auf unterschiedlichen JTree-Instanzen einzelne Elemente per Renderer ausblenden kann.
Das wäre in meiner Idee der Render für Baum-Instanz 1. Für Instanz 2 würde das setVisible und Co dann entsprechend in das letzte if rutschen.
Wie man sieht, hab ich schon versucht, die Sichtbarkeit zu ändern und die Größe auf 0 zu setzen. Nichts geholfen.
Jemand ne Idee, wie ich das mit Renderern lösen kann?
Ich will mit einem TreeModel einen Baum abbilden, der aber auf unterschiedlichen JTree-Instanzen einzelne Elemente per Renderer ausblenden kann.
Java:
public class MyTreeCellRenderer1 extends 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 (value instanceof DefaultMutableTreeNode)
{
// Sichtbar
System.out.println("DefaultMutableTreeNode");
}
else if (value instanceof MyTreeNode1)
{
// Unsichtbar
System.out.println("TreeNode1");
setVisible(false);
setIcon(null);
setMaximumSize(new Dimension(0, 0));
}
else if (item instanceof MyTreeNode2)
{
// Sichtbar
System.out.println("TreeNode2");
}
return this;
}
}
Das wäre in meiner Idee der Render für Baum-Instanz 1. Für Instanz 2 würde das setVisible und Co dann entsprechend in das letzte if rutschen.
Wie man sieht, hab ich schon versucht, die Sichtbarkeit zu ändern und die Größe auf 0 zu setzen. Nichts geholfen.
Jemand ne Idee, wie ich das mit Renderern lösen kann?