我是Java/SWT新手。我遇到一些問題,使用SWT label。SWT標籤尺寸未正確更新
當我更新標籤上的文本時,它的大小沒有被正確更新(標籤被剪切,與原始大小有關)。但是,如果我在對話框中執行了非常小的調整大小,則大小已正確更新。
基本上,我使用默認文本創建標籤,然後當我加載數據時,我使用真實文本更新標籤,該標籤比原始文本更大。
我嘗試撥打電話label.update()
和label.redraw()
,但沒有運氣。
我是Java/SWT新手。我遇到一些問題,使用SWT label。SWT標籤尺寸未正確更新
當我更新標籤上的文本時,它的大小沒有被正確更新(標籤被剪切,與原始大小有關)。但是,如果我在對話框中執行了非常小的調整大小,則大小已正確更新。
基本上,我使用默認文本創建標籤,然後當我加載數據時,我使用真實文本更新標籤,該標籤比原始文本更大。
我嘗試撥打電話label.update()
和label.redraw()
,但沒有運氣。
嘗試呼叫parent.layout()
,其中parent
是Composite
其中包含您的標籤。另見Understanding Layouts in SWT。
謝謝,工作完美。我習慣於Winforms。我需要做一些關於swt的閱讀。 –
不客氣。如果你需要任何其他的東西,不要猶豫,問問.. – Sorceror
我知道這是舊的,但爲了不失去可能在控件上設置的任何LayoutData設置。您應該致電getParent().requestLayout()
。該文檔特別不鼓勵getParent().layout()
的用戶丟失控件上的所有緩存數據設置。
這更可能是佈局問題。你使用哪種佈局?如果您期望標籤尺寸發生變化,您應該調用佈局重新計算。嘗試在設置新文本進行標註後調用'layoutInstance.layout(true);'方法。 – Sorceror
您是否在容器組件上嘗試'invalidate()/ validate()'? –