Java 创建新jTree后刷新jTree组件

Java 创建新jTree后刷新jTree组件,java,swing,jtree,Java,Swing,Jtree,我读了很多关于这个的话题,但是仍然有一些问题。 我正在使用NB的java桌面项目。我已经从调色板创建了树,现在每次点击按钮后,我都想创建新的树并刷新它。所以我在我想让新的jTree添加一些DefaultMutableTreeNode并在窗口中显示的地方执行了事件操作。有什么想法吗 也许换句话说,我应该如何创建Jtree来修改它的内容?我现在做的是这样的: 在initComponents中,jTree1=新的JTreenodeF; 其中nodeF是在initComponents之前初始化的字段De

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

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

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


我觉得我好像犯了个愚蠢的错误。。不知道如何正确创建gui。

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


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

树的结构真的在变化吗?或者只是在树中展开/折叠节点?我猜是后者

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


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

我通过在添加新节点之前删除所有nodeF子节点来解决此问题。我仍然认为有更好的方法。。