2009-10-20 125 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