首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java SWT:更改文本后标签宽度不变

Java SWT:更改文本后标签宽度不变
EN

Stack Overflow用户
提问于 2018-09-24 02:28:15
回答 1查看 267关注 0票数 1

我在Stack Overflow中读到了很多关于这个问题的文章,并应用了所有建议的解决方案(getShell包、布局、getparent布局等)。但它们都没起作用。

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

我的文本代码:

代码语言:javascript
复制
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("...");

。。。

代码语言:javascript
复制
btnElegirNmeros.addSelectionListener(new SelectionAdapter() {
    @Override
    public void widgetSelected(SelectionEvent e) {
        lblNumbersValue.setText("asddadadasdasdasd");
        lblNumbersValue.getParent().layout();
        lblNumbersValue.pack();
        getShell().pack();
        getShell().layout();
    }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-24 03:36:24

从SWT4.6开始,触发布局更新的最可靠方法是Control.requestLayout()

它应该可以解决这类问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52469068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档