Кнопка OK и отмена не отображается в MessageDialog в JFace / SWT


У меня есть диалог сообщения следующего вида:

import org.eclipse.jface.dialogs.MessageDialog


public void openQuestion(Shell parentShell, String title, String question, final int iconStyle){
MessageDialog dialog = new MessageDialog(
                    parentShell,
                    title,
                    getTitleIcon(iconStyle),
                    question,
                    iconStyle,
                    new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL },
                    0
                    ) {
                        @Override
                        public Image getImage() {
                            return getIcon(iconStyle);
                        }
            };

return dialog.open() == IDialogConstants.OK_ID;
    }

Здесь, когда я передаю вопрос (параметр) в виде небольшой строки, я могу видеть кнопки OK, отмена в диалоговом окне. Но с другой стороны, когда я передаю вопрос(параметр) в виде большой строки в диалоговом окне сообщения, кнопки OK и отмена не видны в диалоговом окне. Они прячутся. Есть ли способ, чтобы кнопки OK и отмена отображались всегда??

1 3
swt

1 ответ:

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

Я предполагаю, что существует некоторая проблема с макетом или размером объекта оболочки, который вы передаете Shell parentShell попробуйте отправить null в метод только ради проверки проблемы openQuestion(null, "Hello Testing", "Test String,1")

Также, если вам нужен мой тестовый код для справки здесь