我正在使用MessageDialog类中的打开对话框
boolean confirm = MessageDialog.open(MessageDialog.QUESTION_WITH_CANCEL,new Shell(),
"Save Project" has been modified.Save changes?", SWT.NONE)
如果是,则返回true,否则返回false。它在结束时正在做一件事,当我取消并单击交叉行为时,它也返回false,并且像No option(我在false上写了一些步骤)一样接近。在cacel和十字按钮中,它应该只设置对话框,所以我在这里做错了。
最佳答案
为了区分来自QUESTION_WITH_CANCEL
的3个响应,您将必须使用MessageDialog
的构造函数形式,而不是静态方法之一:
MessageDialog dialog
= new MessageDialog(shell, "title", null, "message", MessageDialog.QUESTION_WITH_CANCEL,
new String [] {IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL}.
SWT.NONE);
int response = dialog.open();
response
将是0(是),1(否)和2(取消)。关于java - 区分消息对话框中否,关闭选项的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20878487/