Java Swing JTree TreeModel - 如何进行延迟初始化

时间:2011-05-01 04:08:52

标签: java swing jtree treemodel

我在swing应用程序中有一个JTree,用于显示数据列表(int树模式)。

问题是TreeModel在初始化期间加载所有项目,我不需要全部加载它们。在一个屏幕中,只有100个可以显示,因此无需加载数千个数据,只能在一个屏幕中显示100个数据。

问题:有没有办法在TreeModel中进行延迟初始化并在需要时检索数据?

全部谢谢

2 个答案:

答案 0 :(得分:3)

TreeWillExpandListener 请参阅示例this

答案 1 :(得分:1)

我假设你正在使用DefaultTreeModel。

我通过实施自定义TreeModel解决了这个问题。它可能看起来很复杂,但一旦你进入它,你会发现它并没有那么糟糕。您只有8种方法可以实现,如果您已经拥有类似树的数据结构,那么大多数方法都非常简单。

这种方法的主要好处是可以完全控制底层模型。