我是Java/SWT的新手。在使用SWT标签时遇到了一些问题。
当我更新标签上的文本时,它的大小没有正确地更新(标签被截断,保留原始大小)。但是,如果我在对话框中进行非常小的调整,则大小会正确更新。
基本上,我使用默认文本创建标签,然后在加载数据时使用实际文本更新标签,该文本比原始文本更大。
我尝试调用label.update()
和label.redraw()
都没有成功。
尝试调用parent.layout()
,其中parent
是包含标签的Composite
。还可以参见了解 SWT 中的布局。
我知道这篇文章有些旧了,但是为了不丢失任何可能在控件上设置的LayoutData设置,你应该调用getParent().requestLayout()
。文档明确反对使用getParent().layout()
,因为它会丢失控件上缓存的所有Data设置。
layoutInstance.layout(true);
方法。 - Sorcerorinvalidate()/validate()
了吗? - ring bearer