我想在网格布局中跨越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();
}
答案 0 :(得分:0)
您需要在部分中为Section而不是Composite设置布局数据。
sectionDefinition.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));