如何在NetBeans AbstractNode上更新HtmlDisplayName

如何在NetBeans AbstractNode上更新HtmlDisplayName,netbeans,rcp,Netbeans,Rcp,我正在NetBeans平台6.7上工作 我有一个简单的BeanTreeView来显示一些节点。它们都以普通文本开头,我希望将其中一些更改为粗体和/或下划线,以响应软件中的事件 问题是,我看不到如何让树刷新节点显示 我可以调用AbstractNode.setName(),这将允许我更改名称,但不支持粗体标记 我可以更改getHtmlDisplayName()的结果以包含粗体标记。 但是,我必须重新绘制节点-我如何才能做到这一点?如果我停止缓存抽象节点,我可以解决我的问题;当我想更新Abstract

我正在NetBeans平台6.7上工作

我有一个简单的BeanTreeView来显示一些节点。它们都以普通文本开头,我希望将其中一些更改为粗体和/或下划线,以响应软件中的事件

问题是,我看不到如何让树刷新节点显示

我可以调用AbstractNode.setName(),这将允许我更改名称,但不支持粗体标记

我可以更改getHtmlDisplayName()的结果以包含粗体标记。
但是,我必须重新绘制节点-我如何才能做到这一点?

如果我停止缓存抽象节点,我可以解决我的问题;当我想更新AbstractNode实例的HtmlDisplayName()时,我必须构造一个替换节点

似乎不可能简单地更新现有节点并刷新它。

好的。 看起来我有点胖了


我可以在节点上调用Node.setDisplayName(),结果将自动调用Node.getHtmlDisplayName()——只要我实际更改了DisplayName字符串——如果我使用与以前相同的字符串调用setDisplayName(),则什么也不会发生。

您可以在AbstractNode中执行此操作(在
PropertyChangeListener
或拾取更改的类似文件中)

这将绕过检查以查看显示名称是否已更改! 只需确保在
getHtmlDisplayName()
方法中有更改HTML的代码

fireDisplayNameChange("", getDisplayName());