当我将文本分配给Labels
时,它们会非常紧密地缠绕它,有时会将下边缘切掉'p','y'等。我想在文本和边框之间有一些填充。我正在为父Composite
使用TableWrapLayout,为Labels
使用TableWrapData
TableWrapLayout layout = new TableWrapLayout();
layout.numColumns = 2;
layout.bottomMargin = 10;
layout.topMargin = 10;
client.setLayout(layout);
Label label= toolkit.createLabel(client, "", SWT.NONE);
我们使用FormToolkit进行一致的设计,恕我直言,这对边框绘画没有影响
答案 0 :(得分:3)
SWT中的布局(如GridLayout)和LayoutData(例如GridData)对象只能控制控件之外的间距(因此它们只能设置边距而不是填充)。要更改控制端本身,您只能使用setSize()
和setBound()
。
答案 1 :(得分:3)
(许多年后回答,但仍然是答案......)
CLabel cl = new CLabel(shell, SWT.CENTER);
int padding = 5;
cl.setMargins(padding, padding, padding, padding);
答案 2 :(得分:1)
Quoting my answer to a similar question:
我也在努力解决这个问题。
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);
这对我有用。