Можно ли использовать что-либо кроме GridLayout на страницах предпочтений Eclipse? - PullRequest
0 голосов
/ 13 февраля 2011

Следующая страница простых настроек завершается с 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, это сработает, но меня это не устраивает.Нет ли способа использовать FillLayout или RowLayout на страницах предпочтений Eclipse?

Редактировать: Мне очень жаль, я не уделил достаточно внимания при подготовке примера.Приведенный выше код действительно работает нормально.В моем коде я вернул список, а не контейнер (!).По какой-то причине это работало в обычном SWT, но это действительно глупость.

1 Ответ

0 голосов
/ 13 февраля 2011

Должно быть выполнимо, может быть, два трюка, один должен попробовать это:

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

И если это не сработает, то добавление первого контейнера с GridLayout и внутри этого FillOut должно определенно работать.

В любом случае, немного странно, я бы предположил, что предоставленный код сработал бы, но попробуйте установить эти layoutdata.

...