2011-12-01 2 views
1

내 대화 상자에는 두 개의 TreeViewer 구성 요소가 있습니다. 수직 스크롤 막대는 동기화되어야합니다. setSelectionsetTopItem 메서드로 시도했지만 둘 다 다른 트리에 영향을주지 않습니다.스크롤 TreeViewer 트리 SWT

xViewerLeft = createXViewer(leftComposite, this); 
xViewerRight = createXViewer(rightComposite, this); 

xViewerLeft.getTree().getVerticalBar().addListener(SWT.Selection, new Listener() { 
    @Override public void handleEvent(Event arg0) { 
    //xViewerRight.getTree().setSelection(xViewerLeft.getTree().getSelection()); 
    //xViewerRight.getTree().setTopItem(xViewerLeft.getTree().getTopItem()); 
    } 
}); 

아이디어가 있으십니까?

+0

'xViewerLeft'와'xViewerRight'은 무엇입니까? – CodyBugstein

답변

-2

솔루션 :

vBar1.addListener(SWT.Selection, new Listener() { 
     @Override public void handleEvent(Event arg0) { 
     double y = vBar1.getSelection()*xViewerRight.getTree().view.bounds().height/100; 
     NSPoint nsPoint = new NSPoint(); 
     nsPoint.x = 0; 
     nsPoint.y = y; 
     xViewerRight.getTree().view.scrollPoint(nsPoint); 
     } 
    }); 
+0

NSPoint 란 무엇입니까? – CodyBugstein

+1

@Imray MAC OS 고유의 클래스입니다. 대신에 Point를 사용할 수 있습니다. –

+0

THanks. SWT가 모든 시스템에서 작동한다는 인상하에있었습니다. 'xViewerLeft'와'xViewerRight' 란 무엇입니까? – CodyBugstein

관련 문제