2017-09-08 1 views
-1

내 eclipse 플러그인에 org.eclipse.ui.part.ViewPart가 있습니다. Viewpart에는 org.eclipse.jface.viewers.TreeViewer가 있습니다. 이제 트리 뷰어에 캡션과 같은 것을 지정하여 트리에 표시되는 데이터의 정보를 제공하십시오. 캡션이 필자의 필요성을 설명하지 못한다면, 나는 트리 뷰어 위의 텍스트 라인에 텍스트를 보여주고 싶다. 이 이미지에 enter image description here 레드 라인은 내가 enter image description hereorg.eclipse.jface.viewers.TreeViewer에서 캡션을 얻는 방법

미리 감사의 텍스트 내 라인을 원하는 위치에 표시 내 현재보기를 보여줍니다.

답변

1

TreeViewer 위의 텍스트 한 줄만 표시하려는 경우 뷰어 자체가이 기능을 지원하지 않습니다. 대신 별도의 Label 컨트롤을 사용하여 텍스트를 포함 할 수 있습니다. 같은

뭔가 :

@Override 
public void createPartControl(final Composite parent) 
{ 
    Composite container = new Composite(parent, SWT.NONE); 
    container.setLayout(new GridLayout()); 

    Label label = new Label(container, SWT.LEAD); 
    label.setText("Caption"); 

    TreeViewer viewer = new TreeViewer(container); 

    viewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); 
    .... 

참고가 여러 컨트롤을 포함하는 Composite를 사용해야합니다.

+0

안녕하세요 greg-449,하지만이 솔루션의 있지만 RowLayout (SWT.VERTICAL) 사용하여 적절한 위치에 캡션이 나타나지만 내 TreeViewer 첫 번째 행을 볼 수 있기 때문에이 작동하지 않습니다. 그리고 내 콘텐츠 제공 업체가 일부 동작에 대한 데이터를 제공 할 때 3 행을 볼 수 있고 나머지 행을 보려면 세로로 스크롤해야합니다. TreeViewer가 수직으로 확장되어 사용 가능한 모든 클라이언트 공간을 차지하도록하고 싶습니다. 내가 빠진 것이 있습니까? –

+0

GridLayout과 같이 좀 더 복잡한 레이아웃을 사용해야 할 수도 있습니다. 트리가 사용 가능한 모든 공간을 차지하게하는 GridLayout을 보여주는 수정 된 답변. –

관련 문제