Вы хотите создать подкласс org.eclipse.jface.dialogs.TrayDialog.Это даст вам диалоговое окно с панелью кнопок и выдвижным лотком, который появится при нажатии кнопки справки.Согласно Javadoc TrayDialog:
Рекомендуется подкласс этого класса вместо Dialog
во всех случаях, кроме случаев, когда в диалоге никогда не должен отображаться лоток
. Выпоместите ваш сложный код в метод createDialogArea(Composite parent)
.Если вы хотите, чтобы все выглядело правильно, убедитесь, что вы используете композит, возвращаемый при вызове super, вместо использования parent.Это позволит убедиться, что поля установлены по умолчанию.Например:
protected Control createDialogArea(Composite parent) {
Composite parentWithMargins = (Composite) super.createDialogArea(parent);
/*
* Add your code here parenting off of parentWithMargins
*/
return parentWithMargins;
}