将文本包裹在 Button 中

Wrap the text inside a Button

我在尝试完成看似简单的任务时遇到了问题。 在 java/swt 中编码 UI,我试图让按钮的文本显示在两行上(包装传递给按钮的字符串),但我无法使用字符串中的回车 return,也不是按钮的 SWT.WRAP 样式。

这是我的代码示例:

Button myButton = new Button(compoCentre, SWT.WRAP);
myButton.setBounds(40, 200, 240, 40);
myButton.setText("A long text, but not so long, just enough);

但是,这会导致文本显示在一行中,隐藏了不适合按钮大小的部分。

任何想法/解决方法?

感谢您的宝贵时间。

查看以下代码:

public class Sample {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setLayout(new GridLayout(1, false));

        Composite comp = new Composite(shell, SWT.NONE);
        comp.setLayout(new GridLayout(1, false));
        comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

        Button testButton = new Button(comp, SWT.PUSH | SWT.WRAP);
        testButton.setText("A long text, but not so long, just enough");
        final GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
        layoutData.widthHint = 100;
        testButton.setLayoutData(layoutData);

        shell.pack();
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
        display.dispose();
    }
}

Windows10 上的输出: