0

您好,我对更改 DefaultTreeModel 时保存扩展状态有疑问。目前我有一个看起来像这样的 jTree: 在此处输入图像描述

如果我从左侧 JList 中选择一个项目并从右侧 Jtree 中选择一个 TestGr 并单击 Add Test Case 按钮​​,它将把所选项目添加到 DefaultTreeModel。这样做会折叠树: 在此处输入图像描述

我想以某种方式保存以前的扩展状态,然后更新树以显示新添加的元素,例如: 在此处输入图像描述

我的目标是保存以前可能的扩展状态,当我向 TestGr 添加元素时,所有扩展的东西都应该保持扩展并使用新元素更新自身。有谁知道我怎么能做到这一点?我已经尝试了从jtree 的存储状态/扩展节点恢复状态的解决方案,但它不适合,因为当我更新我的 DefaultTreeModel 时,行数也会更新并且它会扩展错误的行。提前感谢您的提示。

4

1 回答 1

0

解决方案是使用 DefaultTreeModel 重新加载方法,但针对特定节点。例如:

DefaultTreeModel model;
DefaultMutableTreeNode node;
//Initialize or change model
model.reload(node);
enter code here
于 2017-12-25T14:37:17.283 回答