如何在NetBeans AbstractNode上更新HtmlDisplayName

时间:2010-06-22 16:51:48

标签: netbeans rcp

我正在研究NetBeans Platform 6.7

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

麻烦的是,我看不到如何让树刷新节点显示。

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

我可以将getHtmlDisplayName()的结果更改为包含粗体标记。 但是我必须重新绘制节点 - 我该怎么做?

3 个答案:

答案 0 :(得分:2)

您可以在AbstractNode中进行此操作(在PropertyChangeListener或类似的内容中获取更改)

fireDisplayNameChange("", getDisplayName());

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

中的HTML

答案 1 :(得分:0)

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

似乎无法简单地更新现有节点并刷新它。

答案 2 :(得分:0)

好。 看起来我很厚。

我可以在Node上调用 Node.setDisplayName(),并且会自动调用 Node.getHtmlDisplayName() - 只要我有实际上改变了 DisplayName 字符串 - 如果我使用与之前相同的字符串调用 setDisplayName(),则没有任何反应。