我一直想知道方法properties
中的参数TreeViewer#update(Object element, String[] properties)
。这些是什么?他们指的是什么?我不确定String[]
是什么 - 是否有预定义常量可供使用?或者这些是我的列标题的名称?还有别的吗?
我找不到任何没有update()
传递给null
的{{1}}作为properties
值的示例。 Javadoc对我没有帮助。
谢谢!
答案 0 :(得分:2)
这个eclipse.org article在“响应变化”一章中解释了这些属性的用途:如果您想要完全更新treeitem的标签或只是标签的文本或标签的图像,您可以进行微调。它没有详细介绍属性的外观。她认为,如果javadocs还不够,你必须直接研究源代码。
答案 1 :(得分:2)
它们是观众标签提供者的便利,让他们知道模型的哪些属性发生了变化。如果更改的属性不影响视图中项目的显示,则提供者可以通过实现isLabelProperty()方法选择不执行任何操作,仅在有趣属性更改时返回true。
如果项目上没有更改为触发更新调用的逻辑属性,则只传递null或空数组。
答案 2 :(得分:-2)
TreeViewer是SWT类树的“增强版”。所以我猜,这里的属性应该引用存储在TreeItem中的属性(可以通过调用setData(String,Object)来设置。