博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
确认对话框ConfirmDialog和选择对话框OptionDialog:猜数游戏
阅读量:6335 次
发布时间:2019-06-22

本文共 3658 字,大约阅读时间需要 12 分钟。

hot3.png

 

确认对话框ConfirmDialog给出提示信息和若干个按钮供用户选择,共有4showConfirmDialog重载方法。对话框的按钮通常为:“是”、“否”、“取消”和“确认”及组合,showConfirmDialog()方法的返回值为整型常量,当按下一个按钮时,返回相应的整型常量,“是”、“否”、“取消”和“确认”对应的常量分别是:0120,当按下对话框的“关闭按钮”关闭对话框时,返回值是:-1

1.  showConfirmDialog(Component parentComponent, Object message)

这个方法由参数“Object message”给出提示信息,按钮为默认的“是”、“否”和“取消”。

例:int n=JOptionPane.showConfirmDialog(null, "提示信息");

 

2.showConfirmDialog(Component parentComponent, Object message, String title, int optionType)

参数“int optionType”确定了按钮的定制,具体取值是:

DEFAULT_OPTION //“确定”按钮

YES_NO_OPTION // “是”、“否”按钮

YES_NO_CANCEL_OPTION //“是”、“否”、“取消”按钮

OK_CANCEL_OPTION //“确定”、“取消”按钮

参数“Object message”给出提示信息,参数“String title”给出对话框标题。

int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.DEFAULT_OPTION);

只有一个“确定”选择,选中后返回值是0

int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.YES_NO_OPTION);

选中“是”返回0,选中“否”返回1

int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.YES_NO_CANCEL_OPTION);

返回值:“是”:0,“否”:1,“取消”:2

 

int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.OK_CANCEL_OPTION);

返回值:“确定”:0,“取消”:2

 

3.showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)

这个方法增加了一个图标类型的参数“int messageType”,具体取值是:

ERROR_MESSAGE

INFORMATION_MESSAGE

WARNING_MESSAGE

QUESTION_MESSAGE(默认类型)

PLAIN_MESSAGE(无图标)

具体应用可参考消息对话框的实例。

例   int n=JOptionPane.showConfirmDialog(null,"提示信息","标",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane. INFORMATION_MESSAGE);

      

4. showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)

这个方法增加了一个参数“Icon icon”,通过该参数,用户可以把自己的图标添加到对话框中;

 

Icon icon=new ImageIcon("grapes.gif");

Int n=JOptionPane.showConfirmDialog(null,"提示信息","标题",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane. INFORMATION_MESSAGEicon);

 

5. showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)

选择对话框OptionDialog是一个充分由用户自定义的对话框,showOptionDialog是一个8个参数的方法,参数“Object[] options”定义了一个按钮数组集合,每个按钮对应的返回值是其在数组中的下标,当参数“Object[] options”不空时,参数“int optionType”和“int messageType”作用不大,参数“Object initialValue”确定了默认选中的按钮。

例:

 

import javax.swing.JOptionPane;

import javax.swing.Icon;

import javax.swing.ImageIcon;

 

class TestDialog{

      

       public static void main(String args[]){

              Icon icon=new ImageIcon("grapes.gif");

              Object[] possibilities = {"苹果", "橘子", "葡萄" };

              int n=JOptionPane.showOptionDialog(null, "请选择你喜欢的水果","水果",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,icon,possibilities,possibilities[0]);

              String s=”你喜欢的水果是:”;

              switch(n){

                     case 0:

                            s=s+”苹果”;

                            break;

                     sase 1:

                            s=s+"橘子";

                            break;

                     sase 2:

                            s=s+”葡萄”;

                            break;

                     default:

s=”你没有选择喜欢的水果”;

              }

              JOptionPane.showMessageDialog(null,s,"水果",

JOptionPane.INFORMATION_MESSAGE);

              System.exit(0);

             

       }

}

 

综合应用:猜数游戏

import javax.swing.JOptionPane;

 

class TestDialog{

    public static void main(String args[]){

        Object[] options = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };

        int x=(int)(10*Math.random());

        int flag=0,y;

        String s="请选择你猜的数。";

 

        for(int i=0;i<3;i++){

                     if(i==0)

                            s=s+”\n你共有三次机会。”;

                     else if(i==1)

s=s+”\n你还有2次机会。”;

                     else

s=s+”\n你只有1次机会了。”;

y=JOptionPane.showOptionDialog(null, s,"猜数游戏",JOptionPane.QUESTION_MESSAGE, null,options, options[0]);

 

            if(y>x)

              s=”大了!\n请选择你猜的数。”;

            else if(y<x)

                s=”小了!\n请选择你猜的数。”;

            else{

                if(i==0)

                    s="你太厉害了。";

                else if(i==1)

s="你很聪明。";

                              else

                    s=””;

                JOptionPane.showMessageDialog(null,"恭喜你猜对了!"+s,

"猜数游戏",JOptionPane.INFORMATION_MESSAGE);

                flag++;

                break;

            }

         

        }

        if(flag==0)

JOptionPane.showMessageDialog(null,"很遗憾你没有猜对!",

"猜数游戏",JOptionPane.INFORMATION_MESSAGE);

    }

   

}

下面是程序运行的一些截屏:

转载于:https://my.oschina.net/vanchan/blog/91360

你可能感兴趣的文章
dreamweaver jquery代码提示安装,DW JQ代码智能提示
查看>>
英语应用文写作之道歉信
查看>>
Dijkstra算法(三)之 Java详解
查看>>
[Share]如何做好一份前端工程师的简历?
查看>>
【c++】字符串流输出恢复状态问题
查看>>
wordpress自定义post_type,并且自定义固定链接
查看>>
AngularJS中的$resource使用与Restful资源交互(转)
查看>>
Fragment 之 PagerAdapter
查看>>
栈的存储结构的实现(C/C++实现)
查看>>
JS和DOM的关系
查看>>
50.10. 事件调度器(EVENT)
查看>>
工作周记 - 第三周 (2016/06/06 - 2016/06/8) 端午快乐
查看>>
软链接和硬链接的理解
查看>>
[LeetCode] Task Scheduler 任务行程表
查看>>
11.13. reload
查看>>
24.2. Styles
查看>>
第 7 章 SQL
查看>>
OK335xS U-boot 编译问题&无Linux shell 问题
查看>>
评价中的星效果实现
查看>>
第 6 章 Workstation
查看>>