Swing中使用JOptionPane类实现弹窗的几种方式
在使用Swing的时候,我们常常需要实现弹窗的功能
而Swing的JOptionPane类则可以实现弹窗功能
JOptionPane类有很多静态的方法,也有很多静态的字段
下面我们就来解释下关于弹窗的一些静态方法和静态字段
1、showMessageDialog静态方法
这个静态方法有3个重载的方法,如下
public static void showMessageDialog(Component parentComponent,Object message) public static void showMessageDialog(Component parentComponent,Object message, String title, int messageType) public static void showMessageDialog(Component parentComponent,Object message, String title, int messageType, Icon icon)
以上三个方法,其功能都是一样的,不一样的是这个弹窗的显示方式
我们这里简要解释下以上参数的意思
ConfirmDialog:表示当前弹窗的父窗口
源代码中注释是
determines the <code>Frame</code> in which the
dialog is displayed; if <code>null</code>,
or if the <code>parentComponent</code> has no
<code>Frame</code>, a
default <code>Frame</code> is used
意思是默认使用Frame,你可以设置为空,也可以设置为parentComponent类型
message:表示的显示的内容
title:表示弹窗的标题
messageType:表示弹窗类型,比如,警告、错误等
注意messageType的值是一个int类型,由静态字段获得,源代码中是这样说明的
* @param messageType the type of message to be displayed: * <code>ERROR_MESSAGE</code>, * <code>INFORMATION_MESSAGE</code>, * <code>WARNING_MESSAGE</code>, * <code>QUESTION_MESSAGE</code>, * or <code>PLAIN_MESSAGE</code>就是说messageType字段你可以这样获得
JOptionane.ERROR_MESSAGE
比如此处我们运行了这样一段代码
JOptionPane.showMessageDialog(null, "测试", "测试标题", JOptionPane.ERROR_MESSAGE);
运行以上代码出现如下弹窗
[caption id="attachment_1451" align="alignnone" width="259"] showMessageDialog弹窗[/caption]
此弹窗没有返回值,是一个提示类型的弹窗
2、showConfirmDialog静态方法
这个静态方法有两个按钮供用户选择,yes 和no
他也有四个重载的方法,如下
public static int showConfirmDialog(Component parentComponent,Object message) public static int showConfirmDialog(Component parentComponent,Object message, String title, int optionType) public static int showConfirmDialog(Component parentComponent,Object message, String title, int optionType, int messageType) public static int showConfirmDialog(Component parentComponent,Object message, String title, int optionType,int messageType, Icon icon)我们这里以第二个方法为例
public static int showConfirmDialog(Component parentComponent,Object message, String title, int optionType)主要是int optionType的取值,他有三个取值,如下
* @param optionType an int designating the options available on the dialog: * <code>YES_NO_OPTION</code>, * <code>YES_NO_CANCEL_OPTION</code>, * or <code>OK_CANCEL_OPTION</code>JOptionPane.YES_NO_OPTION 弹窗上显示 是 否
JOptionPane.YES_NO_CANCEL_OPTION 弹窗上显示 是 否 取消
JOptionPane.OK_CANCEL_OPTION) 弹窗上显示 确定 取消
这个静态方法返回int,返回0,1,2(三个按钮)或0,2(两个按钮)
运行如下代码
JOptionPane.showConfirmDialog(null, "dsfdf", "供奉的三个", JOptionPane.YES_NO_CANCEL_OPTION)
会显示如下弹窗窗口
[caption id="attachment_1452" align="alignnone" width="257"] showConfirmDialog弹窗[/caption]
3、下面我们简单介绍下showOptionDialog静态方法
如下代码
Object[] options = {"确定","取消","保存"}; int aa = JOptionPane.showOptionDialog(null, "反对所反对所", "标题", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);这个方法可以自定义按钮,返回的int依次是0,1,2
就是说点击确定,返回0,点击取消返回1,点击保存返回2
4、静态方法showInputDialog,由用户输入参数
如下代码
String inputValue = JOptionPane.showInputDialog("请输入参数"); System.out.println("aaa="+inputValue);
运行这段代码,会处出现一个弹窗,弹窗里有一个input输入框,输入框的上面显示的“请输入参数”
[caption id="attachment_1453" align="alignnone" width="270"] showInputDialog输入弹窗[/caption]
返回的就是我们输入的结果,可在后台直接获得
5、showInputDialog还有一个重载的方法也比较常用——下拉框
如以下代码
Object[] selectionValues = {"dsa","ssw","werr"}; String inputValue = (String) JOptionPane.showInputDialog(null, "大福晋阿", "标题噢噢", JOptionPane.WARNING_MESSAGE, null,selectionValues,selectionValues[0]); System.out.println("aaa="+inputValue);返回的数据就是你选择的数据,显示的弹窗如下
[caption id="attachment_1454" align="alignnone" width="269"] showInputDialog输入弹窗[/caption]
大家在使用Swing的弹窗类JOptionPane类时,如果不太明白,可以多看看源码,其实源码已经解释的很清楚了
您可以点击以下链接下载查看JOptionPane类的源码
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情