目录
一、JOptionPane的介绍
二、JOptionalPane的使用
(1)消息对话框
(2) 确认对话框
(3)输入对话框
(4)选项对话框
一、JOptionPane的介绍
通过JOptionPane可以非常方便地创建一些简单的对话框,Swing已经为这些对话框添加了相应的组件,无须程序员手动添加组件。JOptionPane提供以下四个方法来创建对话框。
方法:showMessageDialog 消息对话框,告知用户某事已发生,用户只能单击确定按钮 showConfirmDialog 确认对话框,向用户确认某个问题,用户可以选择yes,no,cancel等 选项 showInputDialog 输入对话框,提示要求输入某些信息。 showOptionDialog 自定义选项对话框,允许使用自定义选项,可取代showConfirmDialog 所产生的对话框
上述方法都有很多重载形式,选择其中一种最全的形式如下:
showxxxDialog(Component p
Object message
String title
int optionType
int messageType
Icon icon
Object[] options
Object ini)
参数解释:
p:当前对话框的父组件message:对话框显示的信息,可以是字符串,组件,图片等。
title:当前对话框的标题
optionType:当前对话框显示的按钮类型DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION
messageType:当前对话框的类型:ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE,PLAIN_MESSAGE
icon:当前对话框左上角的图标
options:自定义下拉列表的选项
ini:自定义选项中的默认选项
二、JOptionalPane的使用
(1)消息对话框
案例:制作如图所示的界面,将文本域中的内容显示消息对话框中。
public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("消息对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//点击按钮后弹出一个消息对话框,并且显示文本域中的内容String ss=text.getText();//获取文本域内容//参数最后一个表示指定消息对话框的类型:错误消息,警告消息,问题消息......//错误消息//JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.ERROR_MESSAGE);//警告消息JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.WARNING_MESSAGE);//问题消息//JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.QUESTION_MESSAGE);// 消息对话框// JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.INFORMATION_MESSAGE);//指定插入的图片// JOptionPane.showMessageDialog(s,ss,"消息对话框",JOptionPane.ERROR_MESSAGE,new ImageIcon());}});public void init(){//组装组件s.add(text);s.add(b,BorderLayout.SOUTH);s.pack();s.setVisible(true);s.setDefaultCloseOperation(3);} }
(2) 确认对话框
案例:制作如图所示的界面,点击的选项在文本框中会显示。
public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("确认对话框") {@Overridepublic void actionPerformed(ActionEvent e) {String ss=text.getText();text.append("\n");int res=JOptionPane.showConfirmDialog(s,ss,"确认对话框",JOptionPane.YES_NO_OPTION);if(res==JOptionPane.YES_OPTION){text.append("点击的是 是\n");}if(res==JOptionPane.NO_OPTION){text.append("点击的是 否\n");}}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);} }
(3)输入对话框
案例:制作如图所示的界面
public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("输入对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//弹出输入对话框//返回值是对话框中输入的内容String res=JOptionPane.showInputDialog(s,"请输入信息:","输入对话框",JOptionPane.INFORMATION_MESSAGE);text.append(res+"\n");}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);} }
(4)选项对话框
案例:制作如图所示的界面,选择对应的选项,则在文本域中会显示。
public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("选项对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//选项对话框String[] ss={"大号","中号","小号"};//返回值是数组下标,最后一个参数是默认选项int res=JOptionPane.showOptionDialog(s,"你选择的型号是:","选项对话框",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,ss,"中号");if(res==0){text.append("用户选择"+ss[0]);}if(res==1){text.append("用户选择"+ss[1]);}if(res==2){text.append("用户选择"+ss[2]);}}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);} }