本文介紹了SWT:通知組合它有一個(gè)新的子項(xiàng)的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
如果創(chuàng)建了新的子控件,如何通知aComposite
?
原因:默認(rèn)情況下,對(duì)于StackLayout
不顯示子對(duì)象。我希望確保默認(rèn)情況下顯示添加到StackLayoutComposite
中的第一個(gè)控件(這是一個(gè)具有SetStackLayout
和其他幾個(gè)幫助器方法的Composite
)。目前我是通過重寫StackLayout
的layout
方法解決的,但這在我眼里很難看。
推薦答案
如果要根據(jù)新的子項(xiàng)和任何關(guān)聯(lián)的布局?jǐn)?shù)據(jù)重新布局父項(xiàng)Composite
,只需使用composite.layout(true);
.
如果您希望父級(jí)通知您小部件層次結(jié)構(gòu)已更改,那么您就不走運(yùn)了……您能得到的最接近的方法是在顯示屏上添加一個(gè)SWT過濾,然后等待一個(gè)以前不知名的孩子的SWT.Resize
事件……我已經(jīng)這樣做了,這是一個(gè)項(xiàng)目,但我必須承認(rèn)代碼變得有點(diǎn)難看,因?yàn)槟€必須監(jiān)視處理.
這篇關(guān)于SWT:通知組合它有一個(gè)新的子項(xiàng)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,