我正在构建一个SWT,它有一个窗口(Shell),三个复合材料堆放在另一个下面。我要的是:
height_of_parent - 200px - any_margins_or_paddings的高度。目标2很简单,我使用ColumnLayout定义的这里完成了目标1。
如何实现目标3?
非常感谢:)
PS:我是SWT的新手。
发布于 2010-11-04 18:48:40
我会使用一个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);
}
});https://stackoverflow.com/questions/3789008
复制相似问题