Из того, что я прочитал, прокрутка таблиц или деревьев невозможна напрямую (если это не изменилось за это время).Программное изменение положения большого пальца полосы прокрутки не приведет к изменению области просмотра таблицы / дерева.
Но вы можете попробовать, если у вас работает следующий фрагмент:
Tree tree1 = ...;
Tree tree2 = ...;
int topIndex = tree1.indexOf(tree1.getTopItem());
tree2.setTopItem(tree2.getItem(topIndex));
вызовите этот код в SelectionListener
, зарегистрированном на вертикальной полосе прокрутки вашего дерева (tree.getVerticalBar()
).
Синхронизация выбора довольно проста (если оба средства просмотра дерева отображают один и тот же вход / модель):
viewer.setSelection(otherViewer.getSelection)
(звонит ISelectionChangedListener
из вашего вопроса).