降低 SWT Table 行中按钮的高度

Decreasing the height of Buttons in SWT Table rows

我有一个 org.eclipse.swt.widgets.Table。我放了一个 org.eclipse.swt.widgets.Button 到最后一列。

如果未更改,我的 Button 会在垂直和水平方向占用单元格中所有可用的 space。

我找到了一种控制按钮宽度的方法(见下文)。然而,这种方法不适用于高处。如果可能的话,我宁愿将 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);
    }
}

table 项目的高度由其内容决定。通常选择高度以便可以显示文本和图像。除非您实施 custom painting,否则您无法影响 table 项目高度。

要在按钮周围添加边距,您应该将其放入具有 suitable 布局的合成中(例如 FillLayoutmarginWith and/or marginHeight 相应设置)。