【问题标题】:horizontalSpan in SWT GridLayout doesn't spanSWT GridLayout 中的 Horizo​​ntalSpan 不跨越
【发布时间】:2012-08-26 06:57:20
【问题描述】:

我正在尝试像这样配置一个对话窗口:

    @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);

...

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

再次感谢!

【问题讨论】:

    标签: swt grid-layout columnspan


    【解决方案1】:

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

    【讨论】:

    • 其实可以,但不推荐。但是,是的:不要这样做:D
    猜你喜欢
    • 2018-01-28
    • 2016-01-16
    • 2022-01-05
    • 1970-01-01
    • 2014-03-09
    • 2014-08-31
    • 2016-09-23
    • 2012-12-03
    • 1970-01-01
    相关资源
    最近更新 更多