TreeViewer #update(Object element,String [] properties);属性是指什么?

时间:2009-07-23 01:02:47

标签: java swt eclipse-rcp jface

我一直想知道方法properties中的参数TreeViewer#update(Object element, String[] properties)。这些是什么?他们指的是什么?我不确定String[]是什么 - 是否有预定义常量可供使用?或者这些是我的列标题的名称?还有别的吗?

我找不到任何没有update()传递给null的{​​{1}}作为properties值的示例。 Javadoc对我没有帮助。

谢谢!

3 个答案:

答案 0 :(得分:2)

这个eclipse.org article在“响应变化”一章中解释了这些属性的用途:如果您想要完全更新treeitem的标签或只是标签的文本或标签的图像,您可以进行微调。它没有详细介绍属性的外观。她认为,如果javadocs还不够,你必须直接研究源代码。

答案 1 :(得分:2)

它们是观众标签提供者的便利,让他们知道模型的哪些属性发生了变化。如果更改的属性不影响视图中项目的显示,则提供者可以通过实现isLabelProperty()方法选择不执行任何操作,仅在有趣属性更改时返回true。

如果项目上没有更改为触发更新调用的逻辑属性,则只传递null或空数组。

答案 2 :(得分:-2)

TreeViewer是SWT类树的“增强版”。所以我猜,这里的属性应该引用存储在TreeItem中的属性(可以通过调用setData(String,Object)来设置。