我希望在运行以下代码时在主要合成中显示两个复合。
但除非为它们设置边界,否则它不会显示子复合体。 但由于我已经应用了布局,因此我期待自动设置setBound。 有人可以告诉我这里有什么问题。
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Composite composite = new Composite(shell, SWT.BORDER);
composite.setBounds(0,0,500,500);
RowLayout rowLayout = new RowLayout();
rowLayout.type =SWT.VERTICAL;
rowLayout.fill = true;
composite.setLayout(rowLayout);
//
//
Composite comB1 = new Composite(composite, SWT.BORDER);
RowLayout comB1Layout = new RowLayout();
comB1Layout.type =SWT.HORIZONTAL;
comB1.setVisible(true);
//
//
Composite comB2 = new Composite(composite, SWT.BORDER);
RowLayout comB2Layout = new RowLayout();
comB2Layout.type =SWT.HORIZONTAL;
comB1.setVisible(true);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
答案 0 :(得分:1)
您需要在Car.orm.yml
上设置一个布局,告诉它如何处理这些孩子。
但是,这会覆盖CarType
上的Shell
。很难将布局与setBounds
混合在一起。而是在Composite
上致电setBounds
。
类似于:
setSize