posted 20 years ago
I am having trouble displaying a JTree with newly added nodes.
I have a JTree, inside a JPanel, JScrollPane and JSplitPane.
I create the JTree with a single root node which displays correctly.
I update the JTree with new children which displays correctly.
Using the same exact routine as above - I add additional new children to the root, the new children do not display in the JTree.
I have confirmed that I am using the correct tree and root node in debug that the tree/node objects has been correctly updated. It is just not displaying the new children to the root.
I can expand and collapse the tree which does not show the new children, just the original populated root.
After the root has been updated, I have tried a number of methods to resolve: tree/jpanel/jscrollpane/jsplitpane .revalidate, invalidate, repaint, etc.
I am using v1.4.1.
What am I missing here?
Thanks in advance.
The routine does the following.
public void addNewNode(JTree tree)
{
TreeModel model = tree.getModel();
SummarySelectNode root = (SummarySelectNode) model.getRoot();
// Create Primary Node add to root
// SummarySelectNode is extended from DefaultMutableTreeNode
SummarySelectNode pNode = new SummarySelectNode();
root.add(pNode);
......
((DefaultTreeModel) tree.getModel()).nodeChanged(root);
tree.revalidate();
for (int i = 0; i < tree.getRowCount(); i++)
tree.expandRow(i);
tree.revalidate();
tree.repaint();