如何在SWT中的rowLayout上放置标签项?

时间:2015-09-30 08:01:44

标签: eclipse swt eclipse-rcp

我想在行布局上放置一些项目。但是我犯了一个错误。我的错误图片在这里:

enter image description here

我的示例代码如下:

for (int i = 0; i < foo.length; i++) {

    qux[i] = (foo[i] && bar[i] && baz[i]);

    if (qux[i]) {

            System.out.println("At position " + i + " they are all true.");

    }

    norf[i] = (!foo[i] && !bar[i] && !baz[i]);

    if (norf[i]) {

            System.out.println("At position " + i + " they are all false.");

    }

}

错误发生在DataTime行上。有人可以提一些建议吗?谢谢。

2 个答案:

答案 0 :(得分:0)

您无法将GridData设置为放置在RowLayout中的组件。您应该使用RowData:

    DateTime dateTimeStart = new DateTime(filterComposite, SWT.DROP_DOWN | SWT.LONG);
    RowData rd = new RowData();
    rd.width = 123;
    rd.height = 23;
    dateTimeStart.setLayoutData(rd);

答案 1 :(得分:0)

您正在尝试为dateTimeStart设置GridData布局数据。但是,Composite filterComposite具有RowLayout,并且此Layout需要RowData布局数据。

示例:

DateTime dateTimeStart = new DateTime(filterComposite, SWT.DROP_DOWN | SWT.LONG);
dateTimeStart.setLayoutData(new RowData (width, height)); //set proper height and width according to your UI expectations