페이지에 두 개의 TreeViewer
개체가 있습니다 (2 열, 각 열에 TreeViewer
). 다른 하나를 스크롤하거나 선택할 때 세로로 트리를 정렬하려고합니다. 세로 맞춤 2 트리 뷰어 특정 요소에
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Tree;
나는 솔루션
treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent arg0) {
TreeViewer mirrorTree = (treeViewer == treeVwrSource ? treeVwrTarget : treeVwrSource);
// find position of selected element (element x) in treeViewer
// set position of element x in mirrorTree, it is already selected.
}
});
어떤 조언 같은 모양해야한다고 생각?
안녕하세요. 당신의 도움을 주셔서 감사합니다. 나는이 접근법을 시도했고, tree1.getTopItem()은 예상대로 스크롤 한 후에 맨 위에 나열된 항목을 반환합니다. 그러나, tree1.indexOf (...), 항상 -1, 스크롤하는 방향을 반환합니다 ... – karnbo
BTW 'setSelection'잘 작동합니다. 그러나, 나는 여기 정렬과 같은 문제가있다 ... 오른쪽 창에서의 선택은 맨 위에있을 수 있고 왼쪽 창 선택은 아래쪽에있을 수있다 ... 실제로는 매우 불안하다 ... – karnbo
'indexOf (..)': "아이템이 발견되지 않으면 -1을 반환합니다." 그래서 '나무'는 방금 준 물건을 찾지 못했습니까? 그건별로 의미가 없습니다. 'tree1.indexOf (tree1.getTopItem()); '가 -1을 반환 할 수있는 이유를 생각할 수 없습니다. – p12t