[英]how to remove a child composite from parent composite in swt?
我想從其父母那里刪除一個孩子。 我試圖使其看不見,排除,銷毀。 沒有任何幫助。 還是可以向父母添加新的孩子集?
您可以簡單地調用child.dispose()
以便從其父級中刪除任何控件(包括復合控件)。 處置控件后,將無法再使用它。 即,除isDisposed()
之外的所有方法都將拋出SWTException
。
布置控件后,您需要重新布局UI:
if(! child.isDisposed()){
child.dispose();
}
paramComposite.layout(true, true);
如果在paramComposite中使用GridLayout,則可以排除單元格:
if(child.getLayoutData() instanceof GridData){
((GridData)child.getLayoutData() ).exclude = true;
}
paramComposite.layout(true, true);
要添加一個新孩子:
Composite newChild = new Composite(paramComposite , SWT.NON)
paramComposite.layout(true, true);
或更改現有控件的父級:
existingControl.setParent(paramComposite );
existingControl.setLayoutData(existingControlLayoutData);
paramComposite.layout(true, true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.