Layout 垂直膨胀复合材料
我正在构建一个SWT UI,它有一个窗口(外壳),其中有三个复合材料,一个叠在另一个下面。我希望:Layout 垂直膨胀复合材料,layout,swt,Layout,Swt,我正在构建一个SWT UI,它有一个窗口(外壳),其中有三个复合材料,一个叠在另一个下面。我希望: 全部扩展到最大可能宽度(窗口宽度) 第一个和第三个复合材料的高度各为100px 第三个组合扩展到height\u of_parent-200px-any_margins\u或\u paddings 目标2很简单,我使用定义的ColumnLayout实现了目标1 如何实现目标3? 非常感谢:) PS:我对SWT非常陌生。我会使用GridLayout并执行如下操作: GridLayout layout
height\u of_parent-200px-any_margins\u或\u paddings
非常感谢:)
PS:我对SWT非常陌生。我会使用GridLayout并执行如下操作:
GridLayout layout = new GridLayout();
parent.setLayout(layout);
GridData data1 = new GridData(SWT.LEFT, SWT.FILL, false, true);
data1.heightHint = 100;
widget1.setLayoutData(data1);
GridData data2 = new GridData(SWT.LEFT, SWT.FILL, false, true);
data2.heightHint = 100;
widget2.setLayoutData(data2);
GridData data3 = new GridData(SWT.LEFT, SWT.TOP, false, false);
data3.heightHint = Math.max(1, parent.getSize().y - 200 - layout.marginHeight * 2);
widget3.setLayoutData(data3);
parent.addControlListener(new ControlAdapter() {
public void controlResized(ControlEvent e) {
GridData data = (GridData)widget3.getLayoutData();
data.heightHint = parent.getSize().y - 200 - layout.marginHeight * 2;
widget3.setLayoutData(data);
parent.layout(true);
}
});