в моем коде у меня есть TreeViewer, который обновляется путем периодического вызова setInput() и передачи нового ввода. Из-за сложности остальной системы я бы предпочел не менять код для работы с добавлением, удалением и обновлением. К сожалению, это означает, что полоса прокрутки прыгает вверх каждую секунду или около того. Есть ли способ сохранить положение полосы прокрутки и установить его снова после обновления, даже если ни один элемент не выбран?
я уже пробовал делать
int s = treeViewer.getTree().getVerticalBar().getSelection();
treeViewer.setInput(input);
treeViewer.getTree().getVerticalBar().setSelection(s);
Но я предполагаю, что это будет работать, только если элемент был выбран.