我想从其父级中删除一个子级,但没有。我试图看不见它、排除它、摧毁它。没有任何帮助。或者是否可以向父级添加一组新的子级?
最佳答案
您需要在处置控件后重新布局 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);
关于java - 如何在 swt 中从父组合中删除子组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48150280/