3

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

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;
    }

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

4

1 回答 1

1

无论我尝试什么,都无法重现您的问题。即使对于大型多行字符串,它对我来说也能正常工作。附件是屏幕截图在此处输入图像描述

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

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

于 2015-07-05T17:00:37.290 回答