在JFace / SWT中的MessageDialog中看不到“确定”和“取消”按钮

时间:2015-06-26 05:44:38

标签: java swt jface messagedialog

我有一个消息对话框如下:

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,Cancel按钮。但另一方面,当我在消息对话框中将问题(参数)作为大字符串传递时,在对话框中看不到“确定”和“取消”按钮。他们被隐藏了。有没有办法总是显示确定和取消按钮??

1 个答案:

答案 0 :(得分:1)

无论我尝试什么,都无法重现你的问题。即使对于大型多线串,我的工作也非常好。附件是屏幕截图enter image description here

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

此外,如果您需要我的测试代码以供参考here