如何设置SWT标签填充?

发布于 2024-09-17 05:49:04 字数 459 浏览 3 评论 0原文

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

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

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

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

When i assign text to my Labels, they wrap around it very tightly, sometimes cutting the lower edges off 'p', 'y' and alike. I would like to have some padding between text and border. I am using a TableWrapLayout for the parent Composite and TableWrapData for the Labels

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

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

We are using the FormToolkit for consistent design, IMHO this has no influence on border painting

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凉月流沐 2024-09-24 05:49:04

(多年后回答,但仍然是答案......)

CLabel cl = new CLabel(shell, SWT.CENTER);
int padding = 5;
cl.setMargins(padding, padding, padding, padding);

(Answer many years later, but still an answer...)

CLabel cl = new CLabel(shell, SWT.CENTER);
int padding = 5;
cl.setMargins(padding, padding, padding, padding);
又爬满兰若 2024-09-24 05:49:04

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

Layout (such as GridLayout) and LayoutData (e.g. GridData) objects in SWT can only control spacing outside a control (so they may only set margins, not padding). In order to change control side itself you can only use setSize() and setBound().

孤星 2024-09-24 05:49:04

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

我也纠结过这个问题。 Label 不支持填充。我最终使用 StyledText 代替。

 Final StyledText text = new StyledText(parent, SWT.WRAP);
   最终 int 填充 = 5;

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

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

这对我来说很有效。

Quoting my answer to a similar question:

I also wrestled with this issue. Label does not support padding. I wound up using StyledText instead.

   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);

This did the trick for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文