當我在我的swt程序中按下一個按鈕時,應繪製一個新的組合。但是隻有當我調整窗口大小時纔會顯示組合。 我被分配一個新的複合我如何重新繪製Java(SWT)組合?
compHELP comHelp_ = new compHELP(compLoad, SWT.RESIZE);
我已經試過redraw()
但沒有任何反應
當我在我的swt程序中按下一個按鈕時,應繪製一個新的組合。但是隻有當我調整窗口大小時纔會顯示組合。 我被分配一個新的複合我如何重新繪製Java(SWT)組合?
compHELP comHelp_ = new compHELP(compLoad, SWT.RESIZE);
我已經試過redraw()
但沒有任何反應
複合需要添加/刪除控制時重新layouted在我的GUI複合(compLoad
)見
Composite.layout() // uses Composite.layout(true)
Composite.layout(boolean changed)
Composite.layout(boolean changed, boolean all)
注意,在SWT佈局可以緩存其控制的優選大小s(由Control.computeSize(int w, int h)
確定)。當您添加新組件時,撥打layout()
可能就足夠了。如果首選大小可能已更改,或者更改發生在子複合中,請使用帶有changed/all
標誌的方法來確保您的佈局已正確更新。
注意:當Composite
的尺寸發生變化時,它會自動重新佈局(正如您在調整窗口大小時發現的那樣)。
謝謝!它用Composite.layout重繪(布爾變化,布爾全部) – user3824834 2014-08-27 11:20:14
什麼是'compHELP'?它不是SWT API的一部分。你擴展'Composite'嗎? – Baz 2014-08-27 10:00:27