减小SWT表行中按钮的高度

问题描述 投票:2回答:1

我有一个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);
    }
}
button swt eclipse-rcp jface tablerow
1个回答
1
投票

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

要在按钮周围添加边距,您应该将其放入具有合适布局的复合材料中(例如,相应地设置FillLayout和/或marginWithmarginHeight)。

© www.soinside.com 2019 - 2024. All rights reserved.