2009-10-20 127 views
0

我试图用setInput()方法定期更新JFace TreeViwer的输入。此外,我使用JFace TreeViewer闪烁

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

的方式来保存树的状态。但在每个setInput()调用TreeViewer后闪烁。如何避免闪烁?

回答

3

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

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

+0

谢谢,viewer.getTree()。​​setRedraw()停止闪烁.. – penguru 2009-10-21 05:41:59