Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4.2
-
On Linux, AMD64
Description
A have a simple tree:
root
-c1
--cc1
-c2
--cc2
-c3
I want to move c3 from parent root to parent c2. This works when the treenode c2 is not expanded, i.e. cc2 is not shown. When c2 is expanded, the action results in a nullPointerException in treeNodesInserted. The cause of the nullPointer is:
parentItem.getChildren() <-- returns null, but in line 845 the parentItem.getChildren().add() is called, thus the nullPointer.
Any hints?
my piece of tree manipulation code:
table.getTreeTable().modelChanging();
DefaultTreeModel model = (DefaultTreeModel) table.getTreeTable().getDefaultModelObject();
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) myNode.getParent();
// getIndexOfChild returns -1 if either of th nodes == null
int myIndex = model.getIndexOfChild( parent, myNode );
if ( myIndex < 1 ) // 0 or -1
DefaultMutableTreeNode previousSibling = (DefaultMutableTreeNode) model.getChild( parent, myIndex - 1 );
model.removeNodeFromParent( myNode );
//insert the node as last
model.insertNodeInto( myNode, previousSibling, model.getChildCount( previousSibling ) );
table.getTreeTable().modelChanged();