开发者

Is it possible to use anything other than GridLayout on Eclipse preference pages?

The following simple preference page fails with a ClassCastException:

@Override
protected Control createContents(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    cont开发者_如何学Cainer.setLayout(new FillLayout());
    List list = new List(container, SWT.NONE);
    return container;
}

The same code works fine with a regular SWT application. If I replace the FillLayout with a GridLayout, it works, but that doesn't satisfy me. Is there no way to use a FillLayout or RowLayout in Eclipse preference pages?

Edit: I'm very sorry, I did not pay enough attention when preparing the example. The above code does indeed work fine. In my code, I returned the list, not the container (!). For some reason, that worked in normal SWT, but it's really nonsense.


Should be doable, maybe two tricks, one is to try this:

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

And if that doesn't do the trick, then adding first one container with GridLayout and inside that FillOut should definatedly work.

Bit strange anyhow, I would have assumed that code provided would have worked, but try setting that layoutdata.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜