选中子节点上的CheckboxTreeViewer获取父节点值

时间:2016-12-20 17:36:02

标签: eclipse-rcp jface treeviewer

我正在使用JFace CheckboxTreeViewer并在ICheckStateListener上添加以检查元素,

我的CheckboxTreeViewer结构如下,

P1
 ----Child1
 ----Child2
 ----Child3
 ----Child4
P2
 ----Child6
 ----Child7
 ----Child8
 ----Child9

我的要求是当我检查一个Children节点以获取其相关父节点

例如

当我检查Child8然后获得父节点p2 当我检查Child2然后获得父节点p1

如何实现这个目标?

1 个答案:

答案 0 :(得分:1)

通过调用getElement方法,您可以从传递给侦听器的public void checkStateChanged(CheckStateChangedEvent event) { Object changed = event.getElement(); 更改元素:

  ITreeContentProvider provider = (ITreeContentProvider)viewer.getContentProvider();

  Object parent = provider.getParent(changed);

这是您的树内容提供商提供的对象。因此,您可以通过询问内容提供商来获取其父级:

viewer

其中CheckboxTreeViewerHeader set Access-Control-Allow-Origin "*"