代码之家  ›  专栏  ›  技术社区  ›  kostja

如何设置SWT标签填充?

  •  3
  • kostja  · 技术社区  · 15 年前

    当我将文本分配给 Labels ,它们紧紧地围绕着它,有时会把“p”、“y”之类的东西的下边缘剪掉。我想在文本和边框之间有一些空白。我在给家长用桌布 Composite 以及 标签

        TableWrapLayout layout = new TableWrapLayout();
        layout.numColumns = 2;
        layout.bottomMargin = 10;
        layout.topMargin = 10;
        client.setLayout(layout);
    
        Label label= toolkit.createLabel(client, "", SWT.NONE);
    

    我们使用FormToolkit进行一致的设计,但这对边界绘画没有影响

    3 回复  |  直到 15 年前
        1
  •  3
  •   Mohsen    15 年前

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

        2
  •  4
  •   DavidL    9 年前

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

    CLabel cl = new CLabel(shell, SWT.CENTER);
    int padding = 5;
    cl.setMargins(padding, padding, padding, padding);
    
        3
  •  1
  •   Community Mohan Dere    5 年前

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

    这对我起了作用。