JOptionPane 对话框

JOptionPane 类的静态工厂方法主要创建4种类型的对话框

&1 showMessageDialog----显示一个带有OK 按钮的模态对话框(只能执行当前弹出的对话框)

JAVA 实例:

JOptionPane.showMessageDialog(jl,"欢迎来到本店","Dialog的标题",JOptionPane.INFORMATION_MESSAGE);

&2 showOptionDialog-----这个函数可以改变显示在按钮上的文字,并且可以自定义选项

JAVA实例:

Object [] options = {"百合花","白玫瑰","小雏菊","黄玫瑰"};

int index = JOptionPane.showOptionDialog(jp,"你喜欢什么花?","对话框标题",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[3]);

&3 showConfirmDialog----这个函数只用了两个选项yes/no

JAVA实例:

int n = JOptionPane.showConfirmDialog(jl,"最近过的好吗?","对话框标题",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

&4 showInputDialog-----这个函数用于向文本框直接添加内容

JOptionPane.showInputDialog(jl,"请输入您最想吃的菜:" ,"Dialog的标题",JOptionPane.PLAIN_MESSAGE);

注意:

这里的QUESTION_MESSAGE等等都是用来确立来自可插入外观的图标,用法:JOptionDialog.QUESTION_MESSAGE

常量名                                                                                           用途
ERROR_MESSAGE                                                                 用于错误信息
INFORMATION_MESSAGE                                                    用于信息消息
WARNING_MESSAGE                                                            用于警告信息
PLAIN_MESSAGE                                                                    用于任何信息
QUESTION_MESSAGE                                                           用于问题信息

特别的 ,JOptionDialog类中表示选项类型的常量如下,用法:JOptionDialog.YES_NO_OPTION

常量名                                                                                           用途
DEFAULT_OPTION                                                                  不提供任何选项
YES_NO_OPTION                                                                   YES,NO选项
YES_NO_CANCEL_OPTION                                                YES,NO,CANCEL选项
YES_CANCEL_OPTION                                                         YES,CANCEL选项

点菜小实例:

package ch10;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
public class DialogTest extends JFrame implements ActionListener
{
    JPanel jp = new JPanel ();
    JButton jb1 = new JButton("只有ok按钮");
    JButton jb2 = new JButton("Yes/No按钮");
    JButton jb3 = new JButton("YES/No/Cancle3个按钮");
    JButton jb4 = new JButton("YSE/No/Cancle3个按钮(自定义)");
    JButton jb5 = new JButton("输入消息对话框");
    JButton jb6 = new JButton("选项对话框");
    JButton []jbuttonArray = new JButton[]{jb1,jb2,jb3,jb4,jb5,jb6};
    JLabel jl = new JLabel("请依次单击按钮,将得到不同的对话框!");
    public DialogTest()
    {
    	jp.setLayout(new GridLayout(2,3));
    	for(int i=0;i<jbuttonArray.length;i++)
    	{
    		jp.add(jbuttonArray[i]);
    		jbuttonArray[i].addActionListener(this);
    	}
    	this.add(jp);
    	this.add(jl,BorderLayout.SOUTH);
    	this.setTitle("JOptionPane对话框");
    	this.setBounds(200,200,500,200);
    	this.setVisible(true);
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent a)
    {
    	if(a.getSource()==jbuttonArray[0])
    	{
    		JOptionPane.showMessageDialog(this, "欢迎光临本店!","只有OK按钮的消息对话框",JOptionPane.INFORMATION_MESSAGE);
    		jl.setText("欢迎,欢迎,热烈欢迎");
    	}
    	else if(a.getSource()==jbuttonArray[1])
    	{
    		int index = JOptionPane.showConfirmDialog(this,"您好,您是第一次光临本店吗?","有YES/ON按钮的确认对话框",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
    		jl.setText("您是"+((index==0)?"新顾客,欢迎":"老顾客了,欢迎。"));
    	}
    	else if(a.getSource()==jbuttonArray[2])
    	{
    		Object[] options = {"喜欢","不喜欢"};
    		int index = JOptionPane.showOptionDialog(this,"您好,您喜欢吃酸菜鱼吗?","有Yes/No按钮(自定义)的确认对话框",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[0]);
    		jl.setText("我记下了,您"+((index==0)?"喜欢":"不喜欢")+"吃酸菜鱼");
    	}
    	else if(a.getSource()==jbuttonArray[3])
    	{
    		Object[] options = {"好啊,给我也来一份","不了,我们菜够多了","给我来份香辣虾"};
    		int index = JOptionPane.showOptionDialog(this, "你好,尝尝本店招牌菜酸菜鱼吗?","有Yes/No/CANCEL_OPTION的确认对话框", JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,options, options[2]);
    		String reply = (index == 0)?"稍等,您点的酸菜鱼很快就到了":(index==1)?"好的,有需要再喊我":(index==2)? "好的,你点的香辣虾很快就到了":"对不起,请你点菜!";
    		jl.setText(reply);
    	}
    	else if(a.getSource()==jbuttonArray[4])
    	{
    		String dishes = JOptionPane.showInputDialog(this,"请输入您最想吃的菜:","输入信息对话框",JOptionPane.PLAIN_MESSAGE);
    		jl.setText(dishes);
    	}
    	else if(a.getSource()==jbuttonArray[5])
    	{
    		String[] options = new String [] {"香辣虾","酸菜鱼","公安牛肉鱼杂","瓦罐汤"};
    		int index = JOptionPane.showOptionDialog(this,"下面是本店免费赠送的菜,请您选一个,默认是瓦罐汤","选项对话框",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[3]);
    		String dishes = (index==0)?"香辣虾":(index==1)?"酸菜鱼":(index==2)?"公安牛肉鱼杂":"瓦罐汤";
    		jl.setText("您选择了本店赠送的"+dishes+"!");
    	}
    }
    public static void main(String args[])
    {
    	new DialogTest();
    }
}
时间: 2024-10-18 04:48:28

JOptionPane 对话框的相关文章

Swing-JOptionPane对话框用法-入门

对话框是GUI程序中常见的界面,通常用来反馈提示信息.告警或获取用户输入.比如这种: JOptionPane是Swing中的一个对话框类,它能够提供常见的绝大多数对话框效果,本文对这个类进行介绍.需要说明的有两点:1.JOptionPane所提供的对话框是模态的,也就是说对话框会阻塞原窗口的显示:如果要创建一个非模态对话框,必须使用JDialog类.2.swing另外提供了JFileChooser类(文件选择器)和JColorChooser(颜色选择器),这些对话框比较特殊,以后专门再讲. JO

Java知多少(91)对话框

对话框是为了人机对话过程提供交互模式的工具.应用程序通过对话框,或给用户提供信息,或从用户获得信息.对话框是一个临时窗口,可以在其中放置用于得到用户输入的控件.在Swing中,有两个对话框类,它们是JDialog类和JOptionPane类.JDialog类提供构造并管理通用对话框:JOptionPane类给一些常见的对话框提供许多便于使用的选项,例如,简单的“yes-no”对话框等. JDialog类 JDialog类作作对话框的基类.对话框与一般窗口不同,对话框依赖其他窗口,当它所依赖的窗口

课程作业02

第一题 1.动手动脑: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? 源代码: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); //是原始数据类型吗?  不是 System.out.println(s.getClass().isPrimit

9、GUI

Java不用来写桌面应用(Eclipse是java写的),开发网站 图形界面(用得少) java.awt:用到的图形类都是依赖系统图形库,抽象窗口工具集 javax.swing:用到 的图形类都是sun自己实现的 在java中所有的图形类都被称为组建类 组件(compomet)的类别 ----------| 容器 ----------|非容器组件 一.组件 1.JFrame框架 带边界的窗体,是一个容器 注意 :需要调用setVisible(true)方法后才会显示框架 1.方法 (1)设置JF

Java Swing 使用总结(转载)

随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 2. 图形交互方式 ava提供了专业的API用于开发图形用户界面 GUI--> Graphic  User   Interface   将要了解GUI API的框架结构,以及GUI组

java入门了解14

GUI 1.分类: 一.AWT(Abstract Window Toolkit):抽象窗体工具集 java.awt.*适合做简单的图像用户界面,复杂的不行,基于底层操作系统,所以不同的操作系统显示的界面不同 二.Swing:AWT的升级  javax.swing.*可以跨平台我们一般用的就是他;都是在原来AWT的基础上开发的 所以一般布局界面都是在原来AWT后面开发的 2.介绍 一:组成部分:组件库(component class),容器库(container class),帮助库(helper

day23 GUI

1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 2. 图形交互方式 Java提供了专业的API用于开发图形用户界面 GUI--> Graphic  User   Interface 将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理器,颜色,字体等. 2. GUI的分类 2.1. AWT       Java1.0版本的图形用户界

JOptionPane的经常使用4种对话框

JOptionPane类有4个用于显示对话框的静态方法: 消息.选项.确认,输入对话框 showMessageDialog://显示一条消息并等待用户OK showConfirmDialog://显示一条消息并等待用户确认 showOptionDialog: //显示一条消息并获得一组选项的选择 showInputDialog: //显示一条消息并获得输入的一行文本 消息对话框有例如以下方法: parentComponet //父组件 massage //显示在对话框中的消息对象(字符串Stri

java中显示弹出对话框 show messagebox 利用JOptionPane类(转)

1.属于javax.swing 包. 2.功能:定制四种不同种类的标准对话框. ConfirmDialog 确认对话框.提出问题,然 后由用户自己来确认(按"Yes"或"No"按钮) InputDialog      提示输入文本 MessageDialog 显示信息 OptionDialog 组合其它三个对话框类型. 3.这四个对话框可以采用 showXXXDialog()来显示.如: showConfirmDialog()   显示确认对话框. showInpu