gpt4 book ai didi

Java SWT : Label width not changing after changing it's text

转载 作者:行者123 更新时间:2023-11-30 05:59:43 32 4
gpt4 key购买 nike

我在 Stack Overflow 上阅读了很多有关此问题的内容,并应用了所有建议的解决方案(getShell pack、布局、getparent 布局等...),但没有一个起作用。

我有一个带有文本值的标签。我还有一个按钮,当单击该按钮时,我将使用更长的文本更改标签的内容。问题是标签的宽度没有改变,并且只有新的较长文本的一部分可见。

我的文本代码:

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("...");

。。.

btnElegirNmeros.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
lblNumbersValue.setText("asddadadasdasdasd");
lblNumbersValue.getParent().layout();
lblNumbersValue.pack();
getShell().pack();
getShell().layout();
}
});

最佳答案

自 SWT 4.6 起,触发布局更新的最可靠方法是 Control.requestLayout() .

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

所以在你的情况下尝试lblNumbersValue.requestLayout();

关于Java SWT : Label width not changing after changing it's text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52469068/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com