细说Java的API类JOptionPane

3.4.7  细说JOptionPane

我们曾介绍和使用过 JOptionPane 的简单输入、输出操作。让我们走进 javax.swing 库包中的 JOptionPane ,以此为例,详细探讨怎样利用库包文档来了解类的功能,并如何利用 API 类来编写程序。图 3.4 显示了 JOptionPane 类的文档网页内容。 (见本书第 3 章)
图中的上端显示了这个类的继承链和接口。我们将在以后的章节讨论类的继承和接 口问题。网页中间部分解释了这个类的主要功能。下方列出了这个类所提供的方法。我 们已经简单使用过其中的两个方法。首先,让我们深入了解这两个方法及其其他功能; 然后介绍其他我们还没有应用过的方法,如 showConfirmDialog() 。希望我们这个学习步骤对通过库包文档网页来了解和使用库类,都有所帮助。表 3.11 列出了 JOptionPane 的常用方法。
3W   JOptionPane 属于 javax.swing 库包,提供了功能强大的图像用户接口( GUI )以及对话式的输入、输出操作。由于它的方法都是静态的( static ),我们不用创建对象,直接用类名就可以调用其方法。

3.11  JOptionPane 常用方法
   
   
public Static String showInputDialog (Object message)
显示一个有 message 的对话窗口,并将用户在输入域输入的数据按字符串返回。 message 通常为字符串。
public static String showInputDialog (Obj-ect message Object initialSelecti- onValue)
显示一个有 message 的对话窗口,并在输入域显示预设值 initialSelectionValue 。将用户在输入域输入的数据或预设值按字符串返回。 message initialSelectionValue 通常为字符串。
public static String showInputDialog (Component parentComponent,
        
Object  message, Object initialSelectionValue)
在上一级窗口 parentComponent 中显示一个有 message 的对话窗口,并在输入域显示预设值 initialSelectionValue 。将用户在输入域输入的数据或预设值按字符串返回。 parentComponent 通常为 null message initialSelectionValue 通常为字符串。
续表
   
   
public static String showInputDialog (Component parentComponent,
        
                Object message,    
        
                                   String title,
        
                int messageType)
在上一级窗口 parentComponent 中显示一个有 message 的对话窗口,并显示对话窗口标题 title ,以及消息图标 messageType 。将用户在输入域输入的数据按字符串返回。 parentComponent 通常为 null message initialSelectionValue 通常为字符串; messageType 的值见 3.12
public static void showMessageDialog (Component parentComponent,   
        
Object  message)
在上一级窗口 parentComponent 中显示一个有 message 的输出窗口。 parentComponent 通常为 null message 通常为字符串,或者 GUI 组件。
public static void showMessageDialog (Component parentComponent,
        
                  Object message,
        
                  String title,
        
                  int messageType)
在上一级窗口 parentComponent 中显示一个有 message 的输出窗口,并显示窗口标题 title ,以及消息图标 messageType parentComponent 通常为 null message 通常为字符串,或者 GUI 组件。 messageType 的值见 3.12
public static int showConfirmDialog (Component parentComponent,
        
Object  message)
显示一个带有选项按钮 Yes No Cancel message 对话窗口,并返回用户的选项 Yes=1 No=2, Cancel=3 值。窗口标题为 Select an Option
3.12  JOptionPane 的消息图标类型
消息图标类型
   
   
ERROR_MESSAGE
0
 X 型图标
INFORMATION_MESSAGE
1
倒惊叹号图标
WARNING_MESSAGE
2
惊叹号图标
QUESTION_MESSAGE
3
问号图标
PLAIN_MESSAGE
1
不显示任何图标
不难看出, JOptionPane 的所有方法都是 static ,即这些方法可以直接用 JOptionPane 调用,而不用创建对象。这种方法被称作静态方法。我们将在以后的章节详细讨论静态方法和它的应用。另外, JOptionPane 提供的这些方法可以总结为两种类型:提供对话窗口,提示用户输入,并返回输入值的方法,如 showInputDialog() showComfirmDialog() ;以及显示输出信息的方法,如 showMessageDialog() 。虽然有些方法的参数较多,参数类型也较多样化,但万变不离其宗。懂得了基本应用,其他也就不难了。
当然,对于初学者来说,试图从类库文档网页或本书的列表解释中懂得和掌握列举的类和方法是不可能的。可行的学习方法如下:
1.         大概了解列表和解释的含义。
2.         知道这个方法的返回类型和参数要求,如几个参数和每个参数的类型。
3.         打开一个 IDE ,如 Eclipse ,编写一个测试程序,按照方法规范和解释,输入这个方法。“亲口尝尝梨子的滋味。”
4.         对照文档网页,列表和解释,加深理解。
5.         参考其他例子,掌握应用。       
以下代码测试了所有列在表 3.12 中的方法。表 3.13 列出了程序的运行结果和方法调用对照。
 
// 完整程序在本书配套资源目录 Ch3 中名为 TestJOptionPaneApp.java
//Demo of testing the methods of JOptionPane
import javax.swing.JOptionPane;
 
public class TestJOptionPaneApp {
    public static void main(String[] args) {
 
    //test the first method listed in 3.11 with one argument
    String str = JOptionPane.showInputDialog("please enter a number: ");
 
    //test the second one with 2 arguments. "120" should be the default entry
    str = JOptionPane.showInputDialog("please enter a number: ", "120");
 
    //test the fourth one with 4 arguments
    str = JOptionPane.showInputDialog(null, "please enter a number: ",
            "Input windows", -1);  
 
    //test the fifth one with 2 arguments
    JOptionPane.showMessageDialog(null, "This is another testing.");
 
    //test the sixth one with 4 arguments;
    //the JOptionPane.QUESTION_MESSAGE can be 3
    JOptionPane.showMessageDialog(null, "Testing..... " + str,
                       "Testing Window",
                                    JOptionPane.QUESTION_MESSAGE );
    //test the last one: showConfirmDialog()
    JOptionPane.showConfirmDialog(null, "Make a choice: ");
} //end of main()
} //end of TestJOptionPaneApp
 
通过这个测试程序,我们更进一步了解到,在 showInputDialog() 中,如果没有规定消息图标类型,则自动显示问号图标 QUESTION_MESSAGE ;而在 showMessageDialog() 中,则自动显示信息图标 INFORMATION_MESSAGE 。在 showConfirmDialog() 中,预先设置的选项为按钮 Yes
在以后的章节中,当介绍和讨论了 GUI 组件和 JFrame 后,我们将使用 parentComponent 替换 null ,来测试它们的运行结果,并比较和总结它们的不同之处。
以上例子的运行结果见本书第三章表 3.13
更多信息   Java 虚拟机把输入、输出信息一律按照字符串形式处理。即在进行输入操作时,将所有输入数据都转换成字符串;在进行输出操作时,要求输出信息必须是字符串形式。所以我们在程序中必须做相应的转换。
 

你可能感兴趣的:(java,api,JOptionPane,休闲,API类)