3

WindowBuilder for Eclipseを使用してTableViewer、コンポジット内に配置したを作成しました。(は、それ自体が挿入されるTableViewerSWTを作成します)。TableTableViewer

grabExcessHorizontalSpace設定してtrueに設定してコンポジットのサイズを変更しようとしましたgrabVerticalSpaceが、テーブルを作成しTableViewerてコンポジットを塗りつぶすにはどうすればよいですか?

4

2 に答える 2

4

私は今答えを得ました(irc.freenode.netの#eclipseチャンネルのrcjsuenに大いに感謝します)。

私が見たコードは次のようになりました。Compositecomp=new Composite(container、SWT.NONE); comp.setLayoutData(new GridData(SWT.LEFT、SWT.TOP、true、true、1、1));

grabExcessiveHorizo​​ntalSpaceとgrabExcessiveVerticalSpaceをtrueに設定することに加えて(setLayoutData()関数のparam 3と4)、param 1と2をSWT.FILLに設定し、setLayoutを使用してFillLayoutオブジェクトを追加する必要がありました。 ()関数、そのように:

    Composite comp = new Composite(container, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    comp.setLayout(new FillLayout());
于 2010-12-22T14:29:53.043 に答える
3

コードなしで見分けるのは難しいですが、あなたの説明からあなたはあなたのにレイアウトを設定していませんCompositecomposite.setLayout(new FillLayout());コンポジットにTableViewerのみが含まれている場合は、追加してみてください。

コンポジットに複数の子がある場合は、GridLayoutやMigLayoutなどの別のレイアウトが必要になります。次に、テーブルとコンポジットの他の子にlayoutDataを設定する必要があります。

GridLayoutの使用方法を示すスニペットを次に示します。私がはるかに優れていると思うMigLayoutを学ぶには、ここを参照してください。

于 2010-12-22T14:23:48.220 に答える