我正在尝试为Eclipse编辑器布置一个表单并遇到一些问题。
我们的想法是拥有一个包含2个部分的页面 - 左侧部分包含一个表格和两个按钮。该表应与该部分的顶部对齐,并向右扩展到底部。我希望按钮位于该部分表格的右侧,每个按钮位于另一个下方,并使它们与表格的顶部对齐。
有谁知道我需要使用GridLayouts的哪些设置?我已经尝试了所有我能想到的组合而没有运气。
最接近我可以使用页面底部的第二个按钮结束。
以下是我的代码摘录: -
Section section = toolkit.createSection(sashForm, ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED | ExpandableComposite.NO_TITLE_FOCUS_BOX);
section.setText("All Items");
Composite client = toolkit.createComposite(section);
section.setClient(client);
client.setLayout(new GridLayout(2, false));
Table table = toolkit.createTable(client, SWT.NULL);
table.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
TableViewer viewer = new TableViewer(table);
Button addButton = toolkit.createButton(client, "Add", SWT.PUSH);
addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
Button removeButton = toolkit.createButton(client, "Remove", SWT.PUSH);
removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING));
答案 0 :(得分:1)
看看SWT Layout Tutorials它在GridLayout上有一个很好的部分。
您需要使用表格的GridData.verticalSpan
来覆盖两行。这应该把两个按钮放在右边。但是按钮将占用与表格相同的空间,这可能不是您想要的,因此您可能需要给表格提供垂直尺寸提示。