JFace TreeViewer闪烁

时间:2009-10-20 16:16:32

标签: java eclipse treeview jface

我正在尝试使用setInput()方法定期更新JFace TreeViwer的输入。

viewer.setExpandedElements(expandedElements);
viewer.setExpandedTreePaths(expandedTreePaths);

保存树状态的方法。但在每次setInput()调用后,TreeViewer都会闪烁。如何避免闪烁?

1 个答案:

答案 0 :(得分:3)

实际输入是否在变化?如果不是,您可以调用refresh()代替...或理想情况下使用TreeViewers添加/删除/更新方法,以避免重建整个树。

您可以在致电viewer.getTree().setRedraw(false)之前致电setExpand,然后再致电viewer.getTree().setRedraw(true)