2011-12-27 5 views
0

에 루트 항목을 추가하는 방법이 내가 만드는 데 사용하고 샘플 코드입니다 MasterTreeContentProviderITreeContentProvider를 구현하는 클래스입니다 TreeTreeViewer (viewer)에서 (t). 나는이 내용을 얻을 수있는 방법으로 getElements()을 정의 MasterTreeContentProvider 클래스 내부는 SWT 트리

Tree t = toolkit.createTree(client, SWT.NULL); 
GridData gd = new GridData(GridData.FILL_BOTH); 
gd.heightHint = 20; 
gd.widthHint = 100; 
t.setLayoutData(gd); 
toolkit.paintBordersFor(client); 
section.setClient(client); 
final SectionPart spart = new SectionPart(section); 
managedForm.addPart(spart); 
viewer = new TreeViewer(t); 
viewer.addSelectionChangedListener(new ISelectionChangedListener() 
{ 
    public void selectionChanged(SelectionChangedEvent event) 
    { 
     managedForm.fireSelectionChanged(spart, event.getSelection()); 
    } 
}); 
viewer.setContentProvider(new MasterTreeContentProvider()); 
viewer.setInput(page.getEditor().getEditorInput()); 

(말은 Child1, Child2, Child3). 그것은 다음과 같은 방법으로 표시됩니다 본 코드와

:

 
Child1 
Child2 
Child3 

와 나는 아래와 같은 루트와, 이런 식으로 나무를보고 싶습니다

 
Root 
|-- Child1 
-- Child2 
-- Child3 

방법 및 이 트리에 루트 요소를 추가하려면?

답변

0

MasterTreeContentProvidergetElements()을 구현하는 것만으로는 충분하지 않습니다. 표시 할 계층을 빌드하려면 getChildren()을 구현해야합니다. 해당 메소드에 전달하는 Object은이 계층 구조를 나타내는 사용자 정의 클래스 여야합니다. 좋은 예를 보려면 Eclipse JFace Tree - Tutorial을보십시오.

+0

getChildren() 메서드를 구현하고 원하는 구조를 가져 왔습니다. 자, 나는 나무에 새로운 아이들을 추가하려고 노력하고있다. 트리 뷰어를 어떻게 업데이트합니까? – kk331317

+0

@karthikkonduri : 뷰어에서 '새로 고침'을 호출하기 만하면됩니다. 추가 질문이있는 경우이 질문을 연장하는 대신 새로운 질문으로 게시해야합니다. – Kai