一、概述
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);
警示对话框
JOptionPane.showMessageDialog(null, "警告", "提示", JOptionPane.WARNING_MESSAGE);
普通信息对话框
JOptionPane.showMessageDialog(null, "普通", "提示",JOptionPane.INFORMATION_MESSAGE);
询问信息对话框
JOptionPane.showMessageDialog(null, "提问信息", "提示",JOptionPane.QUESTION_MESSAGE);
不带图标信息对话框
JOptionPane.showMessageDialog(null, "不带图标信息", "提示", JOptionPane.PLAIN_MESSAGE);
自定义图标对话框
JOptionPane.showMessageDialog(null, "message", "这是一个标题", JOptionPane.CANCEL_OPTION, new ImageIcon(
new ImageIcon("images\\1.jpg").getImage().getScaledInstance(100, 100, Image.SCALE_DEFAULT)));
三、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("取消");
}
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);
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);