Установка положения полосы прокрутки JFace TreeViewer - PullRequest
0 голосов
/ 07 декабря 2018

в моем коде у меня есть TreeViewer, который обновляется путем периодического вызова setInput () и передачи нового ввода.Из-за сложности остальной части системы я предпочел бы не изменять код для работы с добавлением, удалением и обновлением.К сожалению, это означает, что полоса прокрутки прыгает наверх каждую секунду или около того.Есть ли способ сохранить положение полосы прокрутки и установить ее снова после обновления, даже если ни один элемент не выбран?

Я уже пытался сделать

int s = treeViewer.getTree().getVerticalBar().getSelection();
treeViewer.setInput(input); 
treeViewer.getTree().getVerticalBar().setSelection(s);

Но я думаю, это будет работать толькоесли предмет был выбран.

1 Ответ

0 голосов
/ 07 декабря 2018

Неважно, похоже, что только установка ввода в начале и затем вызов обновления всегда, когда ввод был пройден, делает свое дело.До сих пор не знаю, как программно установить полосу прокрутки, но, видимо, это больше не требуется, так как простое использование обновления исправило ошибку при прыжке наверх.

...