2017-09-08 9 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の上に1行のテキストが必要な場合は、ビューア自体がこれをサポートしていません。代わりに、別のLabelコントロールを使用してテキストを格納してください。

のような何か:あなたは複数のコントロールを含むようにCompositeを使用する必要が

@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)); 
    .... 

注意。

+0

こんにちはgreg-449、私はこの解決策だけど、これはうまくいきません。なぜなら、RowLayout(SWT.VERTICAL)を使うと、キャプションは適切な場所に表示されますが、TreeViewerの第1行だけが見えます。 私のコンテンツプロバイダが何らかのアクションでデータを提供するとき、3行を見ることができ、残りの行を見るために垂直方向にスクロールしなければならないので、TreeViewerを垂直に広げて、 何か不足していますか? –

+0

おそらく、GridLayoutなどのより複雑なレイアウトを使用する必要があります。ツリーをすべての利用可能な領域にするGridLayoutを表示するための編集された答え。 –

関連する問題