Java SWT标签/按钮未显示在合成中

Java SWT标签/按钮未显示在合成中,java,swt,Java,Swt,我正在尝试将标签或按钮添加到子组合中,但它没有按预期工作 display = Display.getCurrent(); parentShell = display.getActiveShell(); shell = new Shell(parentShell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); shell.setText(title); GridLayout layout = new GridLayout(1, false); shell.s

我正在尝试将
标签
按钮
添加到子
组合
中,但它没有按预期工作

display = Display.getCurrent();
parentShell = display.getActiveShell();
shell = new Shell(parentShell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
shell.setText(title);

GridLayout layout = new GridLayout(1, false);
shell.setLayout(layout);

// Content composite
contentComposite = new Composite(shell, SWT.BORDER);
GridLayout contentLayout = new GridLayout(2, true);
contentComposite.setLayout(contentLayout);
contentComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

// Default Version
defaultVersionComposite = new Composite(contentComposite, SWT.BORDER);
defaultVersionComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

// Versions in Tabs
versionComposite = new Composite(contentComposite, SWT.BORDER);
versionComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
Button button = new Button(versionComposite, SWT.PUSH);
button.setText("Test");
现在看起来是这样的

知道那里发生了什么吗


谢谢

您的两个子组合没有分配给它们的
布局。只需添加以下两行:

defaultVersionComposite.setLayout(new GridLayout());
versionComposite.setLayout(new GridLayout());

哦,太尴尬了。谢谢你的快速回复!