Hi,
ich habe einen TreeSelectionListener dem Baum hinzugefügt:
Wenn ich nun per
wie in der FAQ und einer Implementation im TreeModel, einen Knoten löschen will, so bekomme ich eine NullPointerException bei obiger getLastPathComponent()-Methode, da der Knoten ja dann gelöscht ist.
Etwas später kommt dann noch eine weitere NullPointerException beim Zeichnen:
Wie umgehe ich das?
Viele Grüsse,
Johannes
ich habe einen TreeSelectionListener dem Baum hinzugefügt:
Code:
tree.getSelectionModel().addTreeSelectionListener(
new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e)
{
selected = (Long) e.getNewLeadSelectionPath()
.getLastPathComponent();
...
}
});
Wenn ich nun per
Code:
/**
* Delete selected node/nodes with descendants (implemented in IdefixXMLTreeModel).
*/
public void deleteNode()
{
TreePath[] paths = tree.getSelectionPaths();
if (paths != null)
{
tree.clearSelection();
// foreach path in TreePath
for (TreePath path : paths)
{
if (path.getPathCount() > 1)
{
treeModel.remove(path);
tree.addSelectionPath(path.getParentPath());
}
}
}
}
wie in der FAQ und einer Implementation im TreeModel, einen Knoten löschen will, so bekomme ich eine NullPointerException bei obiger getLastPathComponent()-Methode, da der Knoten ja dann gelöscht ist.
Etwas später kommt dann noch eine weitere NullPointerException beim Zeichnen:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.tree.DefaultTreeCellRenderer.paintFocus(DefaultTreeCellRenderer.java:434)
Wie umgehe ich das?
Viele Grüsse,
Johannes