java语言 百分网手机站

Java对话框学习教程

时间:2020-11-10 10:43:16 java语言 我要投稿

Java对话框学习教程

  引导语:从本质上讲,对话框时一种特殊的窗体,以下是百分网小编分享给大家的Java对话框学习教程,希望大家喜欢!

Java对话框学习教程

  1.1 对话框

  但有时候我们需要弹出独立的对话框以显示信息或者从用户收集信息。对话框,顾名思义,就是向用户显示信息并获取程序继续运行所需数据的窗口,可以起到与用户交互的作用。从本质上讲,对话框时一种特殊的窗体,它通过一个或多个组件与用户交互。与JFrame一样,对话框有边框、有标题且独立存在的容器,并且不能被其他容器所包容,但是对话框不能作为程序的最外层容器,也不能保护菜单栏。此外,java中的对话框上没有最大、最小化按钮。

  1.1.1 JOptionPane 选项对话框

  JOptionPane提供了许多对话框样式,该类能够让你在不编写任何专门对话框代码的情况下弹出一个简单的对话框。

  JOptionPane类提供了7个构造方法用于创建JOptionPane的类对象,不过在实际使用时,

  通常不是用new方式创建,而是使用JOptionPane类提供的一些静态方法产生。JOptionPane有四个静态方法来显示这些简单对话框:

  (1)showMessageDialog:提示信息对话框,这种对话框通常只含有一个“确定”按钮。

  (2)showConfirmDialog :确认对话框,这类对话框通常会询问用户一个问题,要求用户做YES/NO的回答。

  (3)showOptionDialog:选择对话框,这类对话框可以让用户自己定义对话框的类型。

  (4)showInputDialog:输入对话框,这类对话框可以让用户输入相关的信息,当用户完成输入并按下确定按钮后,系统会得到用户所输入的信息。

  对于每种形式的对话框都有多个静态重载方法,下面分别予以说明。

  1. Message Dialog

  Message Dialog称为提示信息对话框,这种对话框中通常只含有一个“确定”按钮。可以使用showMessage Dialog静态方法来显示一个Message Dialog,showMessageDialog方法具有如下重载形式。

  ·showMessageDialog(Component parentComponent, Object message)

  ·showMessageDialog(Component parentComponent, Object message, String title, int messageType)

  ·showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)

  各参数的含义如下:

  parentComponent - 确定在其中显示对话框的 Frame;如果为 null 或者其不具有 Frame,则使用默认的 Frame

  message - 要显示的 Object

  title - 对话框的标题字符串

  messageType - 要显示的消息类型,int枚举类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE,这5个值都是JOptionPane的静态数据成员,可直接使用JOptionPane加“.”的方式使用,5个消息类型的显示效果如下表

  icon - 要在对话框中显示的图标,该图标是用户自定义的图标,如果显示该图标,则不会再显示messageType指定的消息类型的系统图标。一般不需要使用,除非用户有特定需求。

  showMessageDialog方法无返回值,Message Dialog只是告知用户某些信息,用户除了点击确定按钮外不能与其进行交互。

  对应语句:

  JOptionPane.showMessageDialog(null, "这是一个消息对话框吗?","对话框title",JOptionPane.QUESTION_MESSAGE,null);

  2.ConfirmDialog

  Confirm Dialog称为确认对话框,这类对话框通常会询问用户一个问题,要求用户作出YES/NO的回答。可以使用showConfirmDialog静态方法来显示一个Confirm Dialog,showConfirmDialog方法具有如下重载形式。

  showConfirmDialog(Component parentComponent, Object message)

  showConfirmDialog(Component parentComponent, Object message, String title, int optionType)

  showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)

  showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)

  showConfirmDialog方法中有1个参数,其中5个与showMessageDialog的参数相同,含义也一样,这里不再重复说明,showConfirmDialog方法中新增一个参数optionType,该参数的含义如下:

  optionType—指定可用于对话框的选项的 int:YES_NO_OPTION、YES_NO_CANCEL_OPTION 或 OK_CANCEL_OPTION,具体的.显示效果见下表

  showConfirmDialog的返回值为int类型。其中YES,OK=0;NO=1;CANCEL=2;CLOSED=-1(用户直接点击关闭按钮关闭对话框)。通过对返回值的判断,可以做到与用户之间的交互(如用户是按下了确定按钮 还是取消按钮,根据按下按钮的不同做不同的处理)

  对应语句:JOptionPane.showConfirmDialog(null, "你确认这是一个确认对话框吗?","对话框title",JOptionPane.YES_NO_OPTION);

  3.Input Dialog

  Input Dialog称为输入对话框,这类对话框可以让用户输入相关的信息,当用户完成输入并按下确定按钮后,系统会得到用户所输入的信息。输入对话框不见可以让用户自行输入数据,也可以提供ComboBox组件让用户选择相关信息,避免用户输入错误。可以使用showInputDialog静态方法来显示一个Input Dialog,showInputDialog方法具有如下重载形式。

  showInputDialog(Object message)

  showInputDialog(Object message, Object initialSelectionValue)

  showInputDialog(Component parentComponent, Object message)

  showInputDialog(Component parentComponent,Object message, Object initialSelectionValue)

  showInputDialog(Component parentComponent, Object message, String title, int messageType)

  showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)

  showInputDialog方法中有7个参数,其中5个与showMessageDialog的参数相同,含义也一样,这里不再重复说明,showInputDialog方法中新增两个参数,selectionValues 和initialSelectionValue,含义如下:

  selectionValues—用户可能的选择值,以数组方式赋值,显示形式为ComboBox。

  initialSelectionValue—对话框初始化时输入框中的显示值。

  showInputDialog方法的返回值有两种:String类型和Object类型,当用户按下确定按钮时会返回用户输入(或选择)的信息,若按下取消按钮则会返回null。