【发布时间】:2015-05-08 16:28:19
【问题描述】:
我已经为编辑器的内容准备了一个大纲视图。 数据显示为 TreeViewer。 但是当我们刷新它时,整棵树都会闪烁。
有什么方法可以在不刷新整棵树的情况下实现树刷新?我想在编辑节点之后刷新所有节点。
【问题讨论】:
标签: jface
我已经为编辑器的内容准备了一个大纲视图。 数据显示为 TreeViewer。 但是当我们刷新它时,整棵树都会闪烁。
有什么方法可以在不刷新整棵树的情况下实现树刷新?我想在编辑节点之后刷新所有节点。
【问题讨论】:
标签: jface
使用TreeViewer.refresh(element) 仅刷新“元素”及其子元素。
如果您只想更新特定元素,您可以使用TreeViewer.update(element, null) 或使用TreeViewer.update(element array, null) 来更新元素数组。这不处理树结构中的更改。
您也可以使用TreeViewer.add(parentElement, childElement) 告诉查看者一个新的子元素,还有各种remove 方法可以删除元素。
【讨论】:
treeViewer.getControl().setRedraw(false);
//Refresh your tree
treeViewer.getControl().setRedraw(true);
上面的代码可以帮到你!
【讨论】: