Nodes in JTree nicht anzeigen

MSJones

Mitglied
Hallo.

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?
 

Neue Themen


Zurück
Oben