我正在尝试使用setInput()方法定期更新JFace TreeViwer的输入。此外,我还使用
viewer.setExpandedElements(expandedElements);
viewer.setExpandedTreePaths(expandedTreePaths);方法来保存树的状态。但在每次调用setInput()之后,TreeViewer都会闪烁。如何避免闪烁?
发布于 2009-10-20 20:58:03
实际输入是否发生了变化?如果没有,你可以调用refresh()来代替...或者理想情况下使用TreeViewers的添加/删除/更新方法,以避免必须重新构建整个树。
您可以尝试在调用setExpand之前调用viewer.getTree().setRedraw(false),然后在调用之后调用viewer.getTree().setRedraw(true)。
https://stackoverflow.com/questions/1595788
复制相似问题