2014-09-15 3 views
0

트리 뷰어를 사용하여 변경된 수신기의 요소 목록을 표시합니다. 선택한 노드의 이름을 가져 오려고합니다. 다음은 선택 목록 수신기입니다.IStructuredSelection 이름 얻기

treeViewerSwaComponents.addSelectionChangedListener(new ISelectionChangedListener() { 

     @Override 
     public void selectionChanged(SelectionChangedEvent event) { 

      IStructuredSelection sel = (IStructuredSelection) event.getSelection(); 

      if (sel.isEmpty()) 
       return; 

      Component component = (Component) sel.getFirstElement(); 
      notifyComponentSelection(component); 
     } 

    }); 

어떻게하면 선택한 노드의 이름을 문자열로 가져올 수 있습니까?

ILabelProvider provider = (ILabelProvider)treeViewerSwaComponents.getLabelProvider(); 

String name = provider.getText(sel.getFirstElement()); 
+0

당신은 '이름'은 무엇을 의미합니까 : 당신이 사용할 수있는 ILabelProvider 레이블 제공자 가정

덕분에 –

+0

예 레이블 공급자가 반환 한 텍스트 – Wearybands

답변

0

구현? 레이블 공급자가 반환 한 텍스트를 의미합니까?
+0

레이블의 텍스트를 기반으로하므로 캐스트해야하는지 여부를 결정할 것이기 때문에 구성 요소 Object로 캐스팅하기 전에 레이블의 텍스트를 가져 오려고합니다. – Wearybands

+0

그래서 sel을 사용하십시오. getFirstElement(), 업데이트 된 답변 –

+0

완벽하게 작동했습니다 감사합니다 – Wearybands