首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >垂直膨胀复合材料

垂直膨胀复合材料
EN

Stack Overflow用户
提问于 2010-09-24 16:20:24
回答 1查看 906关注 0票数 0

我正在构建一个SWT,它有一个窗口(Shell),三个复合材料堆放在另一个下面。我要的是:

  1. 所有扩展到最大可能的宽度(窗口的宽度)
  2. 第一和第三复合材料的高度分别为100 of。
  3. 第三种复合材料扩展到height_of_parent - 200px - any_margins_or_paddings的高度。

目标2很简单,我使用ColumnLayout定义的这里完成了目标1。

如何实现目标3?

非常感谢:)

PS:我是SWT的新手。

EN

回答 1

Stack Overflow用户

发布于 2010-11-04 18:48:40

我会使用一个GridLayout来做这样的事情:

代码语言:javascript
复制
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);
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3789008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档