java - 异步扩展 Java SWT 树

标签 java asynchronous tree swt


我的 SWT 树有问题。它包含许多叶子,这使得扩展项目非常耗时。有时我什至需要展开所有项目。有没有办法异步扩展它?我尝试在显示屏上使用 asyncExec(),将 expandAll() 放入 run() 方法中,但没有帮助。它并没有解决我只想扩展一个项目的第一个问题。有任何想法吗?

附加节点:项目的缓慢扩展仅在我第一次扩展它时发生。同一项目的所有后续扩展(折叠后)都很快。

最佳答案

我通过将内容提供程序更改为 ILazyTreeContentProvider 解决了大型树的性能问题。如果您必须立即展开整个树,这将无济于事。

另一种选择:仔细研究您的内容和标签提供商。也许它们的操作成本太高,如果缓存或预先计算树的一些信息,则可以加快速度。例如,如果您有一个普通(非惰性)内容提供程序,可以从数据库(逐一)加载项目,则扩展树将永远...

关于java - 异步扩展 Java SWT 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700792/

相关文章:

java - 二叉搜索树中的节点如何存储在java中?以及其他相关问题

java - 在 Java 中创建树的最有效方法是什么?

JAVA : file I/O

java - 使用 JPA native 查询和 MemSql 选择 json 列

javascript - 使用 async 和 defer 按顺序加载脚本

c# - 可观察的创建异步

java - JSF-t :saveState x @ConversationScope

java - 如何接收 Play 2.0 调试邮件?

javascript - 导入 React Native 组件时异步 JS 函数未定义

tree - UltraTree Infragistics - 选择所有节点