OK 和 Cancel 按钮在 JFace/SWT 的 MessageDialog 中不可见

OK and Cancel button not visible in MessageDialog in 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;
    }

在这里,当我将问题(参数)作为小字符串传递时,我能够在对话框中看到“确定”、“取消”按钮。但另一方面,当我在消息对话框中将问题(参数)作为大字符串传递时,对话框中看不到确定和取消按钮。他们被隐藏了。有什么办法可以一直显示确定和取消按钮吗??

无论我尝试什么,都无法重现你的 issue.Its 对我来说工作得很好,即使是大的多行 string.Attached 是屏幕截图

我想您传递的 shell 对象的布局或大小存在一些问题 Shell parentShell 尝试将 null 发送到该方法只是为了测试问题 openQuestion(null, "Hello Testing", "Test String,1")

另外如果需要我的测试代码可以参考here