【问题标题】:Saving expanded state of JTree when adding elements to nodes向节点添加元素时保存 JTree 的展开状态
【发布时间】:2018-06-06 17:01:17
【问题描述】:

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

如果我从左侧 JList 中选择一个项目,然后从右侧 Jtree 中选择一个 TestGr,然后单击“添加测试用例”按钮,它会将所选项目添加到 DefaultTreeModel。这样做会折叠树:

我想以某种方式保存之前的展开状态,然后更新树以显示新添加的元素,例如:

我的目标是保存之前可能的扩展状态,当我向 TestGr 添加元素时,所有已扩展的内容都应保持扩展状态并使用新元素更新自身。有谁知道我怎么能做到这一点?我已经尝试了store state/expanded nodes of a jtree for restoring state 的解决方案,但它不适合,因为当我更新我的 DefaultTreeModel 时,行数也会更新并且它会扩展错误的行。提前感谢您的提示。

【问题讨论】:

标签: java swing jtree defaulttreemodel


【解决方案1】:

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

DefaultTreeModel model;
DefaultMutableTreeNode node;
//Initialize or change model
model.reload(node);
enter code here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 2011-01-29
    • 2013-10-21
    • 2012-09-01
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多