首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTree节点标注经常更改,但宽度已缓存

JTree节点标注经常更改,但宽度已缓存
EN

Stack Overflow用户
提问于 2010-02-13 06:13:09
回答 1查看 3.8K关注 0票数 7

目前,我正在使用一个自定义的TreeCellRenderer来处理我的JTree的标签和图标更改。当我需要更改几个节点上的文本时,问题就出现了。TreeCellRenderer很好用,因为新文本会显示出来。但是,来自初始文本的宽度将被缓存,并且不会更新。我试图通过在TreeCellRenderer中重写getPreferredSize来破解它,但由于我有html字符串,所以无法正常工作。我甚至尝试过解析标签并获得宽度,但它仍然不是很完美。我用过SwingUtilities和FontMetrics。

似乎使用树的支持DefaultTreeModel.nodeChanged(TreeNode)是更改节点的正确方法。但是,我需要一个额外的数据结构来处理对需要更改的节点的访问。就我个人而言,我只想更改需要更改的节点。但是,这将需要另一个数据结构来查找需要更新的所有节点。在这种情况下,绕过支持JLabel缓存大小的最佳方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-13 23:29:49

我发现使用您建议的调用nodeChanged的方法对我来说效果最好。

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

https://stackoverflow.com/questions/2255481

复制
相关文章

相似问题

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