我正在 Net beans 中开发一个小型桌面应用程序。我将一个 JTree
拖放到我的 JFrame
上,现在我想动态填充这个 JTree
的节点层次结构。为此,我编写了一个返回 DefaultMutableTreeNode
对象的方法。现在我再次用这个对象创建树,但树仍然显示旧的(默认)节点:
DefaultMutableTreeNode root = createJTreeNodes();
jTree1 = new JTree(root);
jTree1.repaint();
jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
任何人都可以指导我需要更改什么,以便动态填充树吗?
最佳答案
任何人都可以指导我需要更改什么,以便动态填充树吗?
几个不同的选项:
DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();
root.add(new DefaultMutableTreeNode("another_child"));
model.reload(root);
或
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
model.insertNodeInto(new DefaultMutableTreeNode("another_child"), root, root.getChildCount());
关于java - JTree:有人能找出这段代码有什么问题吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7841291/