Обязательно звоните setLayout
на каждые Composite
, которые вы создаете.
Если вы используете GridLayout
для компоновки композита, используйте GridData
, который задает SWT.FILL
и «захватывать дополнительное пространство»:
control.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
заставит элемент управления использовать все горизонтальное пространство.
control.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
заставит элемент управления занять все доступное пространство в обоих направлениях.
Примечание: вы должны создать новый GridData
для каждого элемента управления - не не пытайтесь разделить их между элементами управления (то же самое относится к макетам).
Чтобы изменить размер диалогового окна, необходимо переопределить isResizable
:
@Override
protected boolean isResizable()
{
return true;
}