2017-10-16 14 views
0

私は、マルチページ・フォーム・エディタであるEclipse Plug-inをやっています。 あるページでは、いくつかのデータをテーブルとツリーで表示します。 Page Verticalを半分に分割したいと考えています。 これを達成するために、私はグループ(左グループ、右グループ)を使いたいと思っていました。Eclipse SWTグループが空になった

public class UtilityPage extends FormPage { 


public UtilityPage(FormEditor editor, String id, String title) { 
    super(editor, id, title); 
    // TODO Auto-generated constructor stub 
} 

@Override 
protected void createFormContent(IManagedForm managedForm) { 

    ScrolledForm scrolledForm = managedForm.getForm(); 

    FormToolkit toolkit = managedForm.getToolkit(); 

    Composite body = scrolledForm.getBody(); 

    GridLayout layout = new GridLayout(); 

    body.setLayout(layout); 

    layout.makeColumnsEqualWidth = true; 

    layout.numColumns = 2; 

    Group leftGroup = new Group(body, SWT.SHADOW_IN); 

    Group rightGroup = new Group(body, SWT.SHADOW_IN); 

    leftGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); 

    rightGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); 

    Label testLabel = new Label(rightGroup, SWT.CENTER); 

    testLabel.setText("<Test>"); 

    Label testLabel2 = new Label(leftGroup, SWT.CENTER); 

    testLabel2.setText("<Test>"); 

    leftGroup.pack(); 

    rightGroup.pack(); 

    } 

} 

私の問題は、コンテンツがない2つの空のグループになります。

https://i.imgur.com/5B7sXqS.png

これは私の前に複数回起こったが、私はいつもそれを中心に働きました。

しかし、私はあなたが他のアイデアを持っているかどうかを尋ねるためにここに私の希望のレイアウト、私はここで私はどのように達成するための良いアイデアを得たので。あなたが何を間違えているのか分かっていれば。

答えて

1

GroupCompositeになるので、グループにレイアウトを設定する必要があります。以下のような

何か:

Group leftGroup = new Group(body, SWT.SHADOW_IN); 

leftGroup.setLayout(new GridLayout()); 

Group rightGroup = new Group(body, SWT.SHADOW_IN); 

rightGroup.setLayout(new GridLayout()); 

レイアウトを使用して、すべてのCompositeレイアウトを持っている必要があります。これにはGroupのようなクラスが含まれ、これはCompositeです。

+0

ありがとうございます。そのような単純な修正が機能します。 –

関連する問題