4

当我将文本分配给 myLabels时,它们会非常紧密地环绕它,有时会切断“p”、“y”等的下边缘。我想在文本和边框之间有一些填充。我使用 TableWrapLayout 作为父Composite级和 TableWrapDataLabels

    TableWrapLayout layout = new TableWrapLayout();
    layout.numColumns = 2;
    layout.bottomMargin = 10;
    layout.topMargin = 10;
    client.setLayout(layout);

    Label label= toolkit.createLabel(client, "", SWT.NONE);

我们使用 FormToolkit 进行一致的设计,恕我直言,这对边框绘制没有影响

4

3 回答 3

4

(多年后的答案,但仍然是一个答案......)

CLabel cl = new CLabel(shell, SWT.CENTER);
int padding = 5;
cl.setMargins(padding, padding, padding, padding);
于 2016-08-08T08:15:44.603 回答
3

SWT 中的 Layout(如 GridLayout)和 LayoutData(如 GridData)对象只能控制控件外的间距(因此它们可能只设置边距,而不是填充)。为了更改控制端本身,您只能使用setSize()setBound()

于 2010-09-03T11:59:22.727 回答
1

引用我对类似问题的回答:

这个问题我也纠结过。Label不支持填充。我最后StyledText改用了。

   final StyledText text = new StyledText(parent, SWT.WRAP);
   final int padding = 5;

   text.setLeftMargin(padding);
   text.setRightMargin(padding);
   text.setTopMargin(padding);
   text.setBottomMargin(padding);

   text.setWordWrap(true);
   text.setCaret(null);

这对我有用。

于 2015-03-12T08:24:16.587 回答