首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在插入/删除节点和更新树时在自定义树模型或默认树模型之间进行选择

在插入/删除节点和更新树时在自定义树模型或默认树模型之间进行选择
EN

Stack Overflow用户
提问于 2013-06-26 02:49:27
回答 1查看 4.5K关注 0票数 1

我有一组用于命令行应用程序的节点,并希望在其上放置一个GUI。我想直观地显示树,并使用JTree。我已经编写了自己的树模型,该模型实现了TreeModel接口,并按预期呈现了树。

但现在我希望能够插入或删除节点。目前,每当我执行插入或删除操作时,我只是重新绘制树,这是一个糟糕的解决方案,特别是在有数千个节点的情况下。

DefaultTreeModel根据需要处理所有的插入和删除以及树更新。我必须弄清楚这在我自己的模型中是如何工作的。

使用自定义树模型的唯一原因就是我可以使用现有的nodes对象。这个原因是否“足够好”来实现自定义模型,或者我是否应该寻找一种方法来使用默认的可变树节点对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-26 03:42:55

正如中所指出的,“TreeModel接口接受任何类型的对象作为树节点。”您的自定义TreeModel可以有效地反映您的“预先存在的分层数据结构”。

作为一个具体的例子,看看FileTreeModel,引用了herehere。唯一缺少的是TreeModelListener管道,有关它的说明可以在EventListenerList应用编程接口中找到。

附录:关于渲染效率,JTree使用flyweight pattern仅渲染可见节点。在TreeModel中触发适当的TreeModelEvent将允许列表树对模型中的更改做出反应。DefaultTreeModel是一个有用的指南。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17305251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档