创建新jTree后的jTree刷新组件

时间:2011-06-27 11:29:47

标签: java swing jtree

我读了很多关于此的话题但仍有一些问题。 我正在使用NB的Java桌面项目。我已经从调色板创建了树,现在每次点击按钮后我想创建新树并刷新它。所以我执行了事件动作,我想让新的jTree添加一些DefaultMutableTreeNode并在窗口中显示。有什么想法吗?

也许换句话说我应该如何创建Jtree来修改它的内容?我现在做这样的事情: 在initComponents中jTree1 = new JTree(nodeF); 其中nodeF是我的字段(DefaultMutableTreeNode),在initComponents之前初始化 然后我想修改这个节点元素添加和删除另一个节点。

我能够刷新树((DefaultTreeModel)jTree1.getModel())。reload();但是我无法创建nodeF的新实例

我摔倒了,好像我犯了一些愚蠢的错误..不知道如何创造gui吧..

2 个答案:

答案 0 :(得分:5)

首先想法,远离Netbeans。使用GUI编辑器可以防止您学习Swing的重要部分,并生成可调试或自定义的代码。

第二个想法,听起来你可以通过设置根来刷新现有树并删除当前内容。这样您就不必每次都创建一个新树。

答案 1 :(得分:2)

树结构实际上是在变化吗?或者您只是在树中展开/折叠节点?我的猜测是后者。

您应该更改数据模型对象以实现TreeNode。 JTree将根据需要查询您的TreeNode对象,以确定哪些具有子项,子项是什么等等。

要在不使用内置树控件的情况下展开/收缩树中的节点,请使用JTree中的方法,例如: expandPathexpandRow