22.9 对话框的种类及用法

对话框应该不是什么陌生的概念,在平时应用中会经常遇到,如在Windows中我们就经常看到对话框的身影。本节将讲述如何设计Swing类库中的对话框。

对于选项对话框,Swing提供了一个很方便的类JOptionPane,该类能够让程序员不需要编写代码,就可以生成一个对话框。其主要提供了一些简单的对话框,用于收集用户的一个简单信息。

JOptionPane类有4个静态的方法,下面列出这些简单的对话框。

❑showMessageDialog:显示一条消息并且等待用户单击OK。

❑showConfirmDialog:显示一条消息并且得到确认。

❑showOptionDialog:显示一条消息并且得到用户在一组选项中选择。

❑showInputDialog:显示一条消息并且得到用户的一行输入。

一个典型的对话框主要包括以下几个部分:

❑一个图标

❑一条消息

❑一个或多个选项按钮

❑对话框标题

对话框的消息类型主要有下列5种。

❑ERROR_MESSAGE

❑INFORMATION_MESSAGE

❑WARNING_MESSAGE

❑QUESTION_MESSAGE

❑PLAIN_MESSAGE

可以指定一条消息显示在对话框上,该消息可以是字符串、图标、一个用户界面组件或者其他对象。下面列出各种消息对象的显示方式:

❑String:绘制该字符串。

❑Icon:显示该图标。

❑Component:显示该组件。

❑Object[]:逐一显示每个对象,依次叠加。

❑其他对象:调用toString()方法,显示相应的结果字符串。

调用showMessageDialog和showInputDialog时,只能得到标准按钮,分别是OK和OK/CANCEL。而调用shwoConfirmDialog时,可以根据不同的需要,选择如下4种选项类型中的一种。

❑DEFAULT_OPTION

❑YES_NO_OPTION

❑YES_NO_CANCEL_OPTION

❑OK_CANCEL_OPTION

【实例22.14】下面演示一个有关构造对话框的实例。


01 import java.awt.*;

02 import javax.swing.*;

03 public class Swingtest13 extends Frame

04 {

05 public static void main(String[]args)

06 {

07 JOptionPane.showConfirmDialog(null,"这是错误信息!","这是错误信息!

08",JOptionPane.YES_NO_CANCEL_OPTION);

09 }

10 }


【代码说明】第3行表示该类继承自Frame类,第7~8行弹出对话框,这里有3个按钮,分别对应YES、NO、CANCEL。

【运行效果】运行结果如图22.15所示。

22.9 对话框的种类及用法 - 图1

图 22.15 添加对话框

创建一个对话框不难,关键是当用户选择按钮时,系统能区分这个动作。通常系统会返回一个整数以区分不同的动作,整数值从0开始。例如,YES_NO_OPTION中0表示YES,1表示NO。