java - 如何在 SWT 中强制 StyledText 换行

标签 java eclipse shell swt eclipse-rcp

我试图强制StyledText打破线条,但效果无望。相反,它将我的 shell 的大小扩展到最大线的宽度。

我试图通过创建扩展 shell 的类来实现这一点

我的构造函数

    super(SWT.ON_TOP | SWT.NO_TRIM | SWT.NO_FOCUS | SWT.NO_SCROLL);
    FillLayout layout = new FillLayout();
    layout.marginHeight = 1;
    layout.marginWidth = 1;
    setLayout(layout);

    mForm = new ManagedForm(this);
    FormToolkit toolkit = mForm.getToolkit();
    body = mForm.getForm().getBody();

    FillLayout layout2 = new FillLayout();
    layout2.spacing = 2;
    body.setLayout(layout2);

    body = toolkit.createComposite(body, SWT.BORDER );

当我想要插入并显示文本时。我就是这样做的

    String text = 
    body = mForm.getToolkit().createComposite(parent, SWT.BORDER);
    GridLayout l = new GridLayout();
    l.marginHeight = 0;
    l.marginWidth = 1;

    body.setLayout(l);  

    StyledText bodyText = createDisabledText(body, text);

    mForm.getForm().getContent().pack(); 
    mForm.getForm().reflow(true);
    pack();

   setVisible(true);

和我创建的disabledText:

private StyledText createDisabledText(Composite parent, String value)
{
    StyledText t = new StyledText(parent, SWT.SHADOW_NONE);
    t.setText(value);
    t.setEditable(false);
    t.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
    return t;
}

所有内容都在扩展 shell 的类中。 我做错了什么或者有像 set maxSize 这样的方法吗?

最佳答案

createDisabledText 方法中,尝试将 SWT.WRAP 样式传递给 StyledText 构造函数。

StyledText t = new StyledText(parent, SWT.SHADOW_NONE | SWT.WRAP);

关于java - 如何在 SWT 中强制 StyledText 换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18412196/

相关文章:

java - 奇怪的谜题 - 位置的无效内存访问

linux - 我怎样才能获得安全的系统级 oh-my-zsh 配置?

java - 如何使用文件提供程序从手机内部存储打开 ppt 文件

java - 如何使用 Java 代码刷新 Eclipse Package Explorer?

java - 在 jsp 中使用 Scriptlet

java - 无法使用 Eclipse 和 Selenium webdriver Java 定位并切换到 iframe

bash - 如何检查 bash 中接受的多个选项之一?

linux - 命令在终端中有效,但在 profile.d 中不作为别名

java - android Appium WebDriver 中向下滚动的问题

java - 如何将巨大的字符串数据从javascript传递到java Action 类?