JTree:有人能找出这段代码有什么问题吗

发布于 2024-12-11 02:55:59 字数 449 浏览 0 评论 0原文

我正在 Net beans 中开发一个小型桌面应用程序。我将一个 JTree 拖放到我的 JFrame 上,现在我想动态填充这个 JTree 的节点层次结构。为此,我编写了一个返回 DefaultMutableTreeNode 对象的方法。现在我再次用这个对象创建树,但树仍然显示旧的(默认)节点:

DefaultMutableTreeNode root = createJTreeNodes();
jTree1 = new JTree(root);
jTree1.repaint();
jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);

任何人都可以指导我需要更改什么,以便动态填充树吗?

I am developing a small desktop application in Net beans. I drag and drop a JTree on my JFrame and now i want to fill the node hierarchy of this this JTree dynamically. For this i wrote a method which return me DefaultMutableTreeNode object. Now i again create tree with this object but the tree still shows old (default) nodes:

DefaultMutableTreeNode root = createJTreeNodes();
jTree1 = new JTree(root);
jTree1.repaint();
jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);

Could any one guide that what i need to change, in order to populate tree dynamically?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不吻晚风 2024-12-18 02:55:59

任何人都可以指导我需要更改什么才能动态填充树吗?

几个不同的选项:

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());

Could any one guide that what i need to change, in order to populate tree dynamically?

A couple of different options:

DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode)model.getRoot();
root.add(new DefaultMutableTreeNode("another_child"));
model.reload(root);

or

DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
model.insertNodeInto(new DefaultMutableTreeNode("another_child"), root, root.getChildCount());
秋叶绚丽 2024-12-18 02:55:59

首先,您需要删除 JTree 中默认由 netbeans 添加的所有节点。

DefaultTreeModel model=(DefaultTreeModel)jTree1.getModel();
model.setRoot(null);

现在创建新的根并添加所需的所有元素,然后使用上面的代码设置新的根。

First you need to remove all the nodes in JTree which are added by netbeans by default.

DefaultTreeModel model=(DefaultTreeModel)jTree1.getModel();
model.setRoot(null);

Now create new root and add all the elements you want and use the above code to set the new root.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文