Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 允许用户将节点添加到JTree中,如果父级已展开,则不会显示节点_Java_User Interface_Swing_Tree - Fatal编程技术网

Java 允许用户将节点添加到JTree中,如果父级已展开,则不会显示节点

Java 允许用户将节点添加到JTree中,如果父级已展开,则不会显示节点,java,user-interface,swing,tree,Java,User Interface,Swing,Tree,我在JTree中插入节点时遇到问题。基本上,用户在父节点上单击鼠标右键,显示可能要插入的子节点列表。它们选择一个节点,然后将其作为选定节点的子节点插入。当父节点从未展开时,这一切都非常有效。但是,如果用户试图插入的节点的父节点曾经被扩展过,则UI似乎不会相应地更新 以下是相关代码行: 创建JTree:this.tree=newjtree(ctlr.getRulesTableTreeModel().getModel()) getModel()方法返回一个DefaultTreeModel,用于为原始

我在JTree中插入节点时遇到问题。基本上,用户在父节点上单击鼠标右键,显示可能要插入的子节点列表。它们选择一个节点,然后将其作为选定节点的子节点插入。当父节点从未展开时,这一切都非常有效。但是,如果用户试图插入的节点的父节点曾经被扩展过,则UI似乎不会相应地更新

以下是相关代码行: 创建JTree:
this.tree=newjtree(ctlr.getRulesTableTreeModel().getModel())
getModel()方法返回一个DefaultTreeModel,用于为原始树层次结构建模

插入节点:
this.treeModel.insertNodeInto(子节点、父节点、索引)


很抱歉没有提供更多代码,但此项目大约有3000行,我正在尝试选择相关行。

您需要更新模型:

根据默认树模型api:

添加节点后,需要 告诉模型已添加节点;这将告诉用户界面正确刷新

例如:

nodesWereInserted(TreeNode node, int[] childIndices)
          Invoke this method after you've inserted some TreeNodes into node.p