java - 如何包装 swt 标签文本

标签 java swt eclipse-rcp

我试图自动换行这个文本,但它没有换行。我正在尝试使用下面的代码,不确定代码有什么问题。这是

protected Control createContents(Composite parent){
    Composite composite = new Composite(parent, SWT.WRAP);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(SWT.HORIZONTAL, SWT.TOP, false, false));

    Group group = new Group(composite, SWT.NONE);
    group.setText("my group");
    group.setLayout(new GridLayout(2, false));
    group.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
    Button button = new Button(group2,SWT.CHECK);
    GridData data = new GridData(SWT.HORIZONTAL, SWT.TOP, false, true, 1, 1);
    button.setLayoutData(data);

    Label label= new Label(group, SWT.WRAP);
    data = new GridData(GridData.FILL_HORIZONTAL);
    label.setLayoutData(data);
    label.setText("my long text is very long, I need to wrap this very long text lalalalalalalalalalalalalala");
}

最佳答案

复合 Material 的布局数据还需要将 grabExcessHorizo​​ntal 空间设置为 true,即:

composite.setLayoutData(new GridData(SWT.NONE, SWT.TOP, true, false));

我认为包装标签及其所有父复合 Material 都需要有它。

顺便说一句,样式位 SWT.WRAP 对于 Composite 类没有意义。

关于java - 如何包装 swt 标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32484107/

相关文章:

java - 向 RCP 中的作业添加进度条

console - 在没有 osgi 控制台的情况下运行 headless Eclipse RCP 应用程序

java - 在 JAVA Netbeans 中的 SQL 算术语句中使用变量/JAVA 函数

java - 创建相同 Activity 时销毁 Activity

swt - 使用 JFace 数据绑定(bind)绑定(bind)单选按钮组的正确方法

java - Jruby+swt。无法在亚马逊服务器上执行应用程序

java - Eclipse - 无法在 64 位 JVM 上加载 32 位 SWT 库

java - 如何在 jDBI 中进行查询?

java - SmartGWT 数据源字符串 XML

java - 不同类之间的通信(Eclipse Forms 部分之间的通信)