2015-08-17 21 views
1

我试图向Composite添加LabelButton,但未按预期工作。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.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"); 

现在看起来像这样。

enter image description here

任何想法是怎么回事呢?

谢谢!

回答

3

您的两个子复合物不具有分配给他们Layout秒。只需添加这两条线:

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

哦,那很尴尬。感谢您的快速回复! – mediocre