如何将包含换行符的String添加到swt列表

时间:2015-03-11 14:36:40

标签: java user-interface swt

我有一个带有org.eclipse.swt.widgets.List的GUI,并希望添加一个包含换行符的String。但是,它不起作用,并且忽略换行符。有人可以帮忙吗?这是我的代码:

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;

public class Test {

public static void main(String[] args) {

    Display display = new Display();
    final Shell myShell = new Shell(display);
    myShell.setText("MyShell");
    myShell.setLayout(new GridLayout(1, false));

    Composite composite = new Composite(myShell, SWT.MULTI);
    composite.setLayout(new GridLayout(1, false));
    GridData gd_composite = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gd_composite.widthHint = 250;
    composite.setLayoutData(gd_composite);

    List mylist = new List(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
    mylist.add("my" + "\n" + "String"); 
    myShell.setSize(94, 94);
    myShell.open();
    while (!myShell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    display.dispose();
}
}

字符串在列表中显示为 myString 。但是,我想像这样显示:

字符串

1 个答案:

答案 0 :(得分:1)

您无法在SWT List窗口小部件中使用换行符。但是,您可以使用只有一列的Table,并在单元格换行/中断中生成文本。

这里有一些例子: