我想知道在使用MessageDialog.open(int kind, Shell parent, String title, String message,int style)
打开时如何使用新的 QUESTION_WITH_CANCEL 对话框类型。
由于open方法返回 boolean ,现在我们有3种可能的状态来自是,否或取消
答案 0 :(得分:14)
你不能使用静态方法MessageDialog.open(bunch of parameters)
,你必须创建对话框并自己调用非静态open()
来检查它的返回值。
MessageDialog dg = new MessageDialog(
window.getShell(),
"My title",
null,
"My question",
MessageDialog.QUESTION_WITH_CANCEL,
new String[]{
IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL},
0
);
switch(dg.open()) {
case 0:
//yes
System.out.println("yes");
break;
case 1:
//no
System.out.println("no");
break;
case 2:
//cancel
System.out.println("cancel");
break;
}
答案 1 :(得分:0)
查看JavaDoc,我相信否和取消会产生相同的效果: false
Returns:
true if the user presses the OK or Yes button, false otherwise