问题标签 [defaulttreemodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
331 浏览

java - 向节点添加元素时保存 JTree 的展开状态

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

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

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

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

0 投票
1 回答
537 浏览

java - Swing 在 JTree 中重定位节点时抛出 ArrayIndexOutOfBoundsException

我想更改我的JTree. 这是代码:

这段代码我面临两个问题:

  1. 有时很少有节点不能完整显示其文本,并且在末尾用一些截断和点 (...) 表示。
  2. 有时我得到这个 JRE 异常,但我不明白为什么。我认为它被抛出是因为我删除了一个节点然后再次插入它,而 JRE 尝试在这两个操作之前或之间重绘这棵树。我怎样才能避免这种情况?

    /li>
0 投票
0 回答
49 浏览

java - DefaultTreeModel 方法在某些情况下执行缓慢

我有一个方法可以重新计算传递的束的所有节点。在某些环境中,我遇到了调用DefaultTreeModel类方法的延迟(大约 15 毫秒)问题,例如getChildCount, getChild, insertNodeInto. 有趣的是,这种延迟不会发生在循环中的每个元素上。DefaultTreeModel 这种行为的可能原因是什么?这与 Swing 中的线程有关吗?


Ps 当 Jtree 包含许多元素时,这种延迟很关键,例如有 100 个元素model会导致刷新方法需要大约 1.5 秒。