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