Java 使用FillLayout隐藏父级中的复合控件

Java 使用FillLayout隐藏父级中的复合控件,java,swt,Java,Swt,我有一个带有FillLayout comp.setLayout(new FillLayout(SWT.VERTICAL)); 我在这个里面创建了两个复合材料 现在我想把第一个藏起来,把被占的地方放出来 child1.setVisible(false); 如果使用了GridData和GridLayout,我知道有办法排除组合,但我使用的是FillLayout 可以做什么?一个黑客程序是控制.setParent()并将其添加到一个不可见的Shell中。请注意,并非所有平台都支持Control.s

我有一个带有
FillLayout

comp.setLayout(new FillLayout(SWT.VERTICAL));
我在这个里面创建了两个复合材料

现在我想把第一个藏起来,把被占的地方放出来

child1.setVisible(false);
如果使用了
GridData
GridLayout
,我知道有办法排除组合,但我使用的是
FillLayout


可以做什么?

一个黑客程序是控制.setParent()并将其添加到一个不可见的Shell中。请注意,并非所有平台都支持
Control.setParent()
。我认为这种避免使用
GridLayout
的方法是不值得的,你应该用
GridLayout
替换
FillLayout

disposing
小部件是一个选项吗?如果不使用
GridLayout
GridData
或一些漂亮的
moveover()
layout()
操作,恐怕我不知道任何解决方案。。。