J
Jason Cavett
I am currently adding nodes a JTree. I want the user to have the
ability to add a node to the root node which is *not* visible (AKA - I
had the root node). Basically, this means that when the user has no
nodes selected and they try to add a new node (via a menu), it should
automatically go to the root node.
The problem I'm having is that although I can get the path for the
root, DefaultTreeModel *always* throws an exception because of this
method...
--
public void nodesWereInserted(TreeNode node, int[] childIndices) {
if(listenerList != null && node != null && childIndices != null
&& childIndices.length > 0) {
int cCount = childIndices.length;
Object[] newChildren = new Object[cCount];
for(int counter = 0; counter < cCount; counter++)
newChildren[counter] = node.getChildAt(childIndices[counter]);
fireTreeNodesInserted(this, getPathToRoot(node), childIndices,
newChildren);
}
}
--
Basically, what happens is that, when the DefaultTreeNode tries to
fire that a new node was inserted, it is still holding the "path" to
the root node. Since the root node isn't showing, that path's row
value is -1.
Is there any way to add a new node to the root node, even though that
root node is not visible?
Thanks.
ability to add a node to the root node which is *not* visible (AKA - I
had the root node). Basically, this means that when the user has no
nodes selected and they try to add a new node (via a menu), it should
automatically go to the root node.
The problem I'm having is that although I can get the path for the
root, DefaultTreeModel *always* throws an exception because of this
method...
--
public void nodesWereInserted(TreeNode node, int[] childIndices) {
if(listenerList != null && node != null && childIndices != null
&& childIndices.length > 0) {
int cCount = childIndices.length;
Object[] newChildren = new Object[cCount];
for(int counter = 0; counter < cCount; counter++)
newChildren[counter] = node.getChildAt(childIndices[counter]);
fireTreeNodesInserted(this, getPathToRoot(node), childIndices,
newChildren);
}
}
--
Basically, what happens is that, when the DefaultTreeNode tries to
fire that a new node was inserted, it is still holding the "path" to
the root node. Since the root node isn't showing, that path's row
value is -1.
Is there any way to add a new node to the root node, even though that
root node is not visible?
Thanks.