标签: java swing jtree treemodel
我在swing应用程序中有一个JTree,用于显示长数据列表(int树模式)。
问题是TreeModel在初始化期间加载所有项目,我不需要全部加载它们。在一个屏幕中,只有100个可以显示,因此无需加载数千个数据,只能在一个屏幕中显示100个数据。
问题:有没有办法在TreeModel中进行延迟初始化并在需要时检索数据?
全部谢谢
答案 0 :(得分:3)
TreeWillExpandListener 请参阅示例this
答案 1 :(得分:1)
我假设你正在使用DefaultTreeModel。
我通过实施自定义TreeModel解决了这个问题。它可能看起来很复杂,但一旦你进入它,你会发现它并没有那么糟糕。您只有8种方法可以实现,如果您已经拥有类似树的数据结构,那么大多数方法都非常简单。
这种方法的主要好处是可以完全控制底层模型。