swt - SWT GridLayout 中的horizo​​ntalSpan 不跨越

标签 swt grid-layout columnspan

我正在尝试配置一个对话框窗口,如下所示:

    @Override
protected Control createDialogArea(Composite parent) {


    GridLayout dialogAreaLayout = new GridLayout();
    dialogAreaLayout.numColumns = 2;
    parent.setLayout(dialogAreaLayout);


    GridData gridData = new GridData();
    gridData.grabExcessHorizontalSpace = true;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.minimumWidth = 300;

    // the label in the first row should span across both columns
    gridData.horizontalSpan = 2;

    Label headlineLabel = new Label(parent, SWT.NONE);
    headlineLabel.setText("example test");
    headlineLabel.setLayoutData(gridData);

    // the rest should be ordered in two columns
    gridData.horizontalSpan = 1;

    companyLabel = new Label(parent, SWT.NONE);
    companyLabel("company");

    companyTextfield = new Text(parent, SWT.BORDER);
    companyTextfield(gridData);

...

我想要完成的是第一行中的一个标签,该标签跨越两列,并且以下字段每行成对排序。我得到的结果是,标签(应该留在第二行)就在第一行,就像标签不会跨越两列一样。有人能看到我做错了什么吗?

再次感谢!

最佳答案

将layoutData 设置为headlineLabel 后,您将horizo​​ntalSpan 设置为1。您需要为每个SWT 小部件创建一个新的LayoutData 对象。设置后无法重复使用。

关于swt - SWT GridLayout 中的horizo​​ntalSpan 不跨越,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128235/

相关文章:

java - 如果我想使用弹出树查看器创建自定义组合,从哪里开始

c# - 如何在 tableLayoutPanel 中设置 columnspan

java - 根据 Eclipse RCP 中选择的 View 激活上下文

java - SWT:透明外壳也使小部件透明

css - 为什么当我点击这个 Material-UI Grid item 时它会移动?

android - 在 GridLayout 周围拖放项目 - Android

grid - Tkinter 网格列跨度被忽略

JavaFX:向表添加行

Java 组织的网格布局