刷新JFace TreeViewer没有闪烁

时间:2014-11-03 16:16:00

标签: jface

我准备了编辑器内容的大纲视图。 数据显示为TreeViewer。 但是当我们刷新它时,整棵树都会闪烁。

有没有办法在没有整棵树刷新的情况下实现树刷新?我想在编辑的节点之后刷新所有节点。

2 个答案:

答案 0 :(得分:1)

使用TreeViewer.refresh(element)刷新'元素'和它的孩子们。

如果您只想更新特定元素,可以使用TreeViewer.update(element, null)或使用TreeViewer.update(element array, null)更新元素数组。这不会处理树结构的变化。

您还可以使用TreeViewer.add(parentElement, childElement)告诉查看者有关新子元素的信息,还有各种remove方法可以删除元素。

答案 1 :(得分:1)

treeViewer.getControl().setRedraw(false);
//Refresh your tree
treeViewer.getControl().setRedraw(true);

以上代码可以帮助您!