是否可以在Eclipse首选项页面上使用除GridLayout之外的任何内容?

时间:2011-02-13 11:04:44

标签: java eclipse layout swt preferences

以下简单首选项页面因ClassCastException

而失败
@Override
protected Control createContents(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new FillLayout());
    List list = new List(container, SWT.NONE);
    return container;
}

相同的代码适用于常规SWT应用程序。如果我将FillLayout替换为GridLayout,它会起作用,但这并不能让我满意。是否无法在Eclipse首选项页面中使用FillLayoutRowLayout

修改 我很抱歉,在准备这个例子时我没有给予足够的重视。上面的代码确实工作正常。在我的代码中,我返回了列表,而不是容器(!)。出于某种原因,这在普通SWT中起作用,但实际上是无稽之谈。

1 个答案:

答案 0 :(得分:0)

应该是可行的,也许是两个技巧,一个是试试这个:

container.setLayoutData(new GridData(...));

如果这不能解决问题,那么首先在GridLayout中添加第一个容器并在FillOut中添加,这应该可以正常工作。

无论如何有点奇怪,我会假设提供的代码可行,但尝试设置layoutdata。