Вопрос

Я пытаюсь периодически обновлять ввод JFace TreeViwer, используя setInput() метод.Также я использую

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

методы сохранения состояния дерева.Но после каждого setInput() вызвать мерцание TreeViewer.Как избежать мерцания?

Это было полезно?

Решение

Изменяется ли фактический ввод?Если нет, то можешь позвонить refresh() вместо...или в идеале используйте методы добавления/удаления/обновления TreeViewers, чтобы избежать необходимости перестраивать все дерево.

Вы можете попробовать позвонить viewer.getTree().setRedraw(false) перед звонками в setExpand, а потом viewer.getTree().setRedraw(true) после.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top