Java SWT:标签宽度更改后不更改';s文本

Java SWT:标签宽度更改后不更改';s文本,java,eclipse,label,swt,windowbuilder,Java,Eclipse,Label,Swt,Windowbuilder,我在Stack Overflow中读了很多关于这个问题的文章,并应用了所有建议的解决方案(getShell pack、layout、getparent layout等),但没有一个有效 我有一个带有文本值的标签。我还有一个按钮,当我点击这个按钮时,我会用一个较长的文本来改变标签的内容。问题是标签的宽度没有改变,只有新的较长文本的一部分可见 我的文本代码: Composite composite_2 = new Composite(this, SWT.NONE); composite_2.setL

我在Stack Overflow中读了很多关于这个问题的文章,并应用了所有建议的解决方案(getShell pack、layout、getparent layout等),但没有一个有效

我有一个带有文本值的标签。我还有一个按钮,当我点击这个按钮时,我会用一个较长的文本来改变标签的内容。问题是标签的宽度没有改变,只有新的较长文本的一部分可见

我的文本代码:

Composite composite_2 = new Composite(this, SWT.NONE);
composite_2.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));
composite_2.setLayout(new GridLayout(2, false));

Label lblNumbers = new Label(composite_2, SWT.NONE);
lblNumbers.setText("Números:");

Label lblNumbersValue = new Label(composite_2, SWT.NONE);   
lblNumbersValue.setText("...");
。 .


自SWT4.6以来,触发布局更新的最可靠方法是

它应该解决这些问题


因此,在您的示例中,请尝试
lblNumbersValue.requestLayout()

我无法复制该问题,您能提供一个解决方案吗?如果所有设置都正确,则只需执行
lblNumbersValue.requestLayout()。成功了@LorisSecuro请将其作为asnwer发布,我将接受。他解决了这个问题
btnElegirNmeros.addSelectionListener(new SelectionAdapter() {
    @Override
    public void widgetSelected(SelectionEvent e) {
        lblNumbersValue.setText("asddadadasdasdasd");
        lblNumbersValue.getParent().layout();
        lblNumbersValue.pack();
        getShell().pack();
        getShell().layout();
    }
});