一、概述

JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。而且是 JavaSwing 内部已实现好的,以静态方法的形式提供调用,能够快速方便的弹出要求用户提供值或向其发出通知的标准对话框。

JOptionPane 提供的 标准对话框 类型分为以下几种

方法名描述showConfirmDialog询问一个确认问题,如 yes/no/cancel。showInputDialog提示要求某些输入。showMessageDialog告知用户某事已发生。showOptionDialog上述三项的大统一 (Grand Unification)。

二、showMessageDialog

概述:显示一个带有OK 按钮的模态对话框。

/*调出标题为 "Message" 的信息消息对话框。 */
static showMessageDialog(Component parentComponent, Object message) 
/*调出对话框,它显示使用由 messageType 参数确定的默认图标的 message。*/
/*
parentComponent - 确定在其中显示对话框的 Frame;如果为 null 或者 parentComponent 不具有 Frame,则使用默认的 Frame
message - 要显示的 Object
title - 对话框的标题字符串
messageType - 要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE 
*/
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType) 
/*调出一个显示信息的对话框,为其指定了所有参数。*/
static void showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)

实例

错误对话框

JOptionPane.showMessageDialog(null, "错误", "提示", JOptionPane.ERROR_MESSAGE);

java swing 取消功能 按钮 java swing弹出对话框_ico

 警示对话框

JOptionPane.showMessageDialog(null, "警告", "提示", JOptionPane.WARNING_MESSAGE);

java swing 取消功能 按钮 java swing弹出对话框_swing_02

 普通信息对话框

JOptionPane.showMessageDialog(null, "普通", "提示",JOptionPane.INFORMATION_MESSAGE);

java swing 取消功能 按钮 java swing弹出对话框_java swing 取消功能 按钮_03

询问信息对话框

JOptionPane.showMessageDialog(null, "提问信息", "提示",JOptionPane.QUESTION_MESSAGE);

java swing 取消功能 按钮 java swing弹出对话框_java swing 取消功能 按钮_04

不带图标信息对话框

JOptionPane.showMessageDialog(null, "不带图标信息", "提示", JOptionPane.PLAIN_MESSAGE);

java swing 取消功能 按钮 java swing弹出对话框_ico_05

自定义图标对话框

JOptionPane.showMessageDialog(null, "message", "这是一个标题", JOptionPane.CANCEL_OPTION, new ImageIcon(
				new ImageIcon("images\\1.jpg").getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT)));

java swing 取消功能 按钮 java swing弹出对话框_开发语言_06

三、showConfirmDialog

//调出带有选项 Yes、No 和 Cancel 的对话框;标题为 Select an Option。
static showConfirmDialog(Component parentComponent, Object message) 
//调出一个由 optionType 参数确定其中选项数的对话框。      
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType) 
// 调用一个由 optionType 参数确定其中选项数的对话框,messageType 参数确定要显示的图标。        
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType) 
//调出一个带有指定图标的对话框,其中的选项数由 optionType 参数确定。        
static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)

实例

int showConfirmDialog = JOptionPane.showConfirmDialog(null, "你确定要分手吗?");
if (showConfirmDialog == 0) {
    System.out.println("确定");
} else if (showConfirmDialog == 1) {
    System.out.println("否");
} else if (showConfirmDialog == 2) {
    System.out.println("取消");
}

java swing 取消功能 按钮 java swing弹出对话框_swing_07

JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.OK_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.YES_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.YES_NO_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.NO_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.YES_NO_CANCEL_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.CANCEL_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.OK_CANCEL_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.CLOSED_OPTION);
JOptionPane.showConfirmDialog(null, "这是我的DEMO", "提示", JOptionPane.DEFAULT_OPTION);

四、showInputDialog

/*显示请求用户输入内容的问题消息对话框,它以 parentComponent 为父级。*/		
static String showInputDialog(Component parentComponent, Object message) 
/* 显示请求用户输入内容的问题消息对话框,它以 parentComponent 为父级。 */
static String showInputDialog(Component parentComponent, Object message, Object initialSelectionValue) 
/*显示请求用户输入内容的对话框,它以 parentComponent 为父级,该对话框的标题为 title,消息类型为 messageType。 */   
static String showInputDialog(Component parentComponent, Object message, String title, int messageType) 
/*提示用户在可以指定初始选择、可能选择及其他所有选项的模块化的对话框中输入内容。 */        
static Object showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue) 
/*显示请求用户输入的问题消息对话框。 */      
static String showInputDialog(Object message) 
/* 显示请求用户输入的问题消息对话框,它带有已初始化为 initialSelectionValue 的输入值。*/      
static String showInputDialog(Object message, Object initialSelectionValue)

实例

String showInputDialog = JOptionPane.showInputDialog("请输入一个姓名:");
		System.out.println(showInputDialog);

java swing 取消功能 按钮 java swing弹出对话框_swing_08

 

Object[] fruits = {"苹果","梨子","香蕉","西瓜","荔枝"};
		/**
		 * JOptionPane.showInputDialog(parentComponent, message, title, messageType, icon, selectionValues, initialSelectionValue)
		 * 	参数:
		 * 		parentComponent - 对话框的父 Component	
		 * 		message - 要显示的 Object
		 * 		title - 要在对话框的标题栏中显示的 String
		 * 		messageType - 要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE
		 * 		icon - 要显示的 Icon 图像
		 * 		selectionValues - 给出可能选择的 Object 数组
		 * 		initialSelectionValue - 用于初始化输入字段的值 
		 */
		
Object showInputDialog = JOptionPane.showInputDialog(null,"你喜欢什么水果","标题",JOptionPane.QUESTION_MESSAGE,null,fruits,fruits[2]);
System.out.println(showInputDialog);

java swing 取消功能 按钮 java swing弹出对话框_swing_09