我有一个org.eclipse.swt.widgets.Table
。我把org.eclipse.swt.widgets.Button
放在最后一栏。
如果它没有改变,我的Button会垂直和水平地占用单元格中的所有可用空间。
我想出了一种如何操纵Button的宽度的方法(见下文)。然而,这种方法不适用于高度。如果可能的话,我宁愿用一些像素来降低Button的高度。或者在上方和下方添加一些填充。或者增加行的高度并保持Button的高度不变。 任何帮助都非常感谢。这是我到目前为止:
private void createButtons(Table table) {
int items = tableViewer.getTable().getItems().length;
TableEditor[] editors = new TableEditor[items];
Button[] buttons = new Button[items];
for (int i = 0; i < items; i++) {
Button button = new Button(table, SWT.PUSH);
buttons[i] = button;
button.setText("Details");
button.setSize(100, 10); //(Works perfectly on width, fails on height)
TableEditor editor = new TableEditor(tableViewer.getTable());
editors[i] = editor;
editor.minimumHeight = button.getSize().y;
editor.minimumWidth = button.getSize().x;
editor.setEditor(button, tableViewer.getTable().getItem(i), 3);
}
}
表项的高度由其内容决定。通常选择高度以便可以显示文本和图像。除非您实现custom painting,否则不能影响表项高度。
要在按钮周围添加边距,您应该将其放入具有合适布局的复合材料中(例如,相应地设置FillLayout
和/或marginWith
的marginHeight
)。