Hallo zusammen,
ich versuche gerade über den eine TreeNodeRenderer bestimmte Knoten ein / auszublenden. Leider funktioniert das nicht so wie ich mir das gedacht habe. Der einzigste Effekt den ich erkennen kann, ist das mein definiertes Icon nicht verwendet wird , aber dafür das Default icon (was ja bedeuted, der ELSE bereich wird aufgerufen).
Danke,
gerdgerdgerd
ich versuche gerade über den eine TreeNodeRenderer bestimmte Knoten ein / auszublenden. Leider funktioniert das nicht so wie ich mir das gedacht habe. Der einzigste Effekt den ich erkennen kann, ist das mein definiertes Icon nicht verwendet wird , aber dafür das Default icon (was ja bedeuted, der ELSE bereich wird aufgerufen).
Java:
public class NodeRenderer extends DefaultTreeCellRenderer {
private boolean visible;
private ImageIcon icon;
public NodeRenderer () {
super();
icon = new ImageIcon(this.getClass().getResource("/data/icons/icon.png"));
visible = true;
}
@Override
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 != null) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
Object object = node.getUserObject();
if (object instanceof MeineKlasse) {
if (visible) {
setIcon(icon);
} else {
setVisible(false);
}
}
}
return this;
}
public void setVisible(boolean visible) {
this.visible = visible;
}
}
Danke,
gerdgerdgerd