表和两个按钮的Eclipse布局

时间:2012-05-22 19:43:36

标签: eclipse swt

我正在尝试为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));

1 个答案:

答案 0 :(得分:1)

看看SWT Layout Tutorials它在GridLayout上有一个很好的部分。

您需要使用表格的GridData.verticalSpan来覆盖两行。这应该把两个按钮放在右边。但是按钮将占用与表格相同的空间,这可能不是您想要的,因此您可能需要给表格提供垂直尺寸提示。