如何跨越 2 列 gridLayout?

How to span 2 column of gridLayout?

我想在网格布局中横跨 3 列的右 2 列,但我不知道该怎么做,有人可以指导我怎么做吗?

示例代码和图片如下:

@PostConstruct
    public void PostConstruct(Composite parent) {

        toolkit = new FormToolkit(Display.getDefault());
        form = new ScrolledForm(parent, SWT.V_SCROLL);
        form.setBounds(0, 0, 650, 478);
        form.setExpandHorizontal(true);
        form.setExpandVertical(true);
        form.setBackground(toolkit.getColors().getBackground());
        form.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
        form.setFont(JFaceResources.getHeaderFont());
        form.setText("DOCUMENTATIONS");
        toolkit.decorateFormHeading(form.getForm());
        GridLayout cl = new GridLayout(3, true);
        form.getBody().setLayout(cl);

        sectionSelection = toolkit.createSection(form.getBody(), Section.TITLE_BAR);
        sectionSelection.setText("");
        sectionClientSelection = toolkit.createComposite(sectionSelection);

        sectionClientSelection.setLayout(new GridLayout());
        sectionClientSelection.setLayoutData(new GridData(100, 100));
        sectionSelection.setClient(sectionClientSelection);

        createSelectionSection();

        sectionDefinition = toolkit.createSection(form.getBody(), Section.TITLE_BAR);
        sectionDefinition.setText("");
        sectionClientDefinition = toolkit.createComposite(sectionDefinition);

        sectionClientDefinition.setLayout(new GridLayout());
        GridData gridData = new GridData(SWT.FILL,GridData.VERTICAL_ALIGN_END);
        gridData.horizontalSpan = 2;
        gridData.horizontalAlignment = GridData.FILL;
        sectionClientDefinition.setLayoutData(gridData);
        sectionDefinition.setClient(sectionClientDefinition);

        createDefinitionSection();

    }

您需要为Section而不是Section中的Composite设置布局数据。

sectionDefinition.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));