views:

293

answers:

1

I'm trying to update the input of JFace TreeViwer periodically using setInput() method. Also I use the

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

methods to save the state of the tree. But after each setInput() call the TreeViewer flickers. How can avoid from flickering ?

+2  A: 

Is the actual input changing? If not you can call refresh() instead... or ideally use TreeViewers add/remove/update methods to avoid having to rebuild the entire tree.

You could try calling viewer.getTree().setRedraw(false) before the calls to setExpand, and then viewer.getTree().setRedraw(true) after.

hudsonb
Thanks, viewer.getTree().setRedraw() stops flickering..
penguru