关于对话框,首先我要给大家介绍的却是一个swt中的MessageBox(org.eclipse.swt.widgets.MessageBox)。实际上,如果你看过这个系列文章中介绍swt事件模式的内容的话,可能早就注意到我在里面使用过MessageBox了。
Swt中的MessageBox允许我们通过指定风格来改变对话框的外观,比如如果对话框的风格中包含SWT.OK,它就会有一个确定按钮;如果包含SWT.CANCEL,就会有一个取消按钮,如果包含ICON_QUESTION那么弹出的对话框就有一个问号图标,等等吧。
比如我们看下面这段程序:
MessageBox dialog=newMessageBox(shell,SWT.OK|SWT.ICON_INFORMATION);
dialog.setText("Hello");
dialog.setMessage("Hello,world!");
dialog.open();
代码段 13
这里我们从构造函数的style参数可以看出,这是一个带有信息图标(一个感叹号)和一个确定按钮的对话框。具体图示见下面:
图14
对比:JFace中的MessageDialog
前面一小节中,我简单介绍了一下swt中的MessageBox。在JFace中,我们使用MessageDialog(org.eclipse.jface.dialogs.MessageDialog)来实现类似的功能。
如果要实现我们在上面所演示的那样一个带信息提示和确定按钮的对话框,我们只需要这样写:
MessageDialog.openInformation(shell,"Hello&#