Eclipse 在SWT中使用带浏览器的FillLayout

Eclipse 在SWT中使用带浏览器的FillLayout,eclipse,eclipse-plugin,swt,Eclipse,Eclipse Plugin,Swt,我有一个由标题和浏览器组成的视图。我想让浏览器填充我的视图。它应该是这样的: 我试过不同的组合 c = new Composite(parent, SWT.NONE); c.setLayout(new RowLayout(SWT.VERTICAL)); Label l = new Label(c, SWT.NONE); l.setBackground(color); l.setText("----------------------Heading---

我有一个由标题和浏览器组成的视图。我想让浏览器填充我的视图。它应该是这样的:

我试过不同的组合

    c = new Composite(parent, SWT.NONE);
    c.setLayout(new RowLayout(SWT.VERTICAL));

    Label l = new Label(c, SWT.NONE);
    l.setBackground(color);
    l.setText("----------------------Heading--------------------------------");
    l.setFont(new Font(null, new FontData(Constants.FONT, 12, SWT.BOLD)));

    Composite wrapper = new Composite(c, SWT.NONE);
    wrapper.setBackground(new Color(null, 0, 0, 0));
    wrapper.setLayout(new FillLayout(SWT.VERTICAL));
    browser = new Browser(wrapper, SWT.WRAP);
    browser.setBackground(color);
产生:

将FillLayout设置为
c
也不起作用。这样,标题和浏览器都可以共享视图的大小,并具有相同的大小

    c = new Composite(parent, SWT.NONE);
    c.setLayout(new FillLayout(SWT.VERTICAL));

    Label l = new Label(c, SWT.NONE);
    l.setBackground(color);
    l.setText("----------------------Heading--------------------------------");
    l.setFont(new Font(null, new FontData(Constants.FONT, 12, SWT.BOLD)));

    browser = new Browser(c, SWT.WRAP);
    browser.setBackground(color);
产生:

我还尝试了以下方法:

composite with filllayout

-> composite with gridlayout

    ->composite with rowLayout (fixed height, grab right)

    ->composite with rowLayout

        -> composite with fillLayout

            -> composite with browser

假设标头和浏览器具有相同的父级,可以使用如下
GridLayout

parent.setLayout(新的GridLayout(1,false));
label.setLayoutData(新的GridData(SWT.FILL、SWT.TOP、true、false));
setLayoutData(新网格数据(SWT.FILL,SWT.FILL,true,true));

即使一个单元格网格并不是GridLayout的真正用途,它也应该做到这一点。布局数据建议标签在顶部对齐并使用所有水平空间,浏览器至少使用水平和垂直空间,
复合c
没有供其父级使用的布局数据。