输入对话框showInputDialog综合应用:猜数游戏

 

Java输入对话框共有6个重载方法showInputDialog(),其中两个与其他组件无关联;均为静态方法,返回值都是String类型。

1.  showInputDialog(Object message)

这是最简单的输入对话框,只有一个参数,通常是用来提示用户进行正确输入的字符串。

例:JOptionPane.showInputDialog("提示信息");


输入对话框showInputDialog综合应用:猜数游戏

2.   showInputDialog(Component parentComponent, Object message)

这是与父组件关联的输入对话框,有两个参数,第一个参数为父组件,通常可取为null ,第二个是提示信息。

例:JOptionPane.showInputDialog(null,"提示信息");运行结果同例1。

 

3.showInputDialog(Object message, Object initialSelectionValue)

            这个方法有两个参数,一个是提示信息,一个是初始默认值。

例:JOptionPane.showInputDialog("提示信息","默认值");


输入对话框showInputDialog综合应用:猜数游戏

4.showInputDialog(Component parentComponent, Object message, Object initialSelectionValue)

            这个方法是与其他组件关联的带有初始默认值的输入对话框,运行结果同例3。

例:JOptionPane.showInputDialog(null,"提示信息","默认值");

5.showInputDialog(Component parentComponent, Object message, String title, int messageType)

            这个方法可以自己定义标题和选择图标类型,图标的类型有:

ERROR_MESSAGE

INFORMATION_MESSAGE

WARNING_MESSAGE

QUESTION_MESSAGE(默认类型)

PLAIN_MESSAGE(无图标)

例:JOptionPane.showInputDialog(null,"提示信息","标题",JOptionPane.ERROR_MESSAGE);


输入对话框showInputDialog综合应用:猜数游戏

 

6.showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)

            这是一个功能完整的方法,除了自己定义标题外,可以通过Icon icon参数可以自定义图标,通过Object[] selectionValues参数可以自定义下拉列表,供用户进行选择输入,通过Object initialSelectionValue参数设定初始值。

例:

import javax.swing.JOptionPane;

import javax.swing.Icon;

import javax.swing.ImageIcon;

 

class TestMessageDialog{

           

            public static void main(String args[]){

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

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

                        JOptionPane.showInputDialog(null,"请选择你喜欢的水果","水果",JOptionPane.QUESTION_MESSAGE,icon,possibilities,possibilities[0]);

                        System.exit(0);

            }

}


输入对话框showInputDialog综合应用:猜数游戏


输入对话框showInputDialog综合应用:猜数游戏

对话框综合应用:猜数游戏

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;

        JOptionPane.showMessageDialog(null,"请猜一个09的数,\n最多有三次机会!",

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

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

s=(String)JOptionPane.showInputDialog(null,"你第"+(i+1)+"次选择的数是:",

"猜数游戏",JOptionPane.QUESTION_MESSAGE, null,options, options[0]);

            y=Integer.parseInt(s);

            if(y>x)

                JOptionPane.showMessageDialog(null,"你猜的数大了,\n还有"+(2-i)

+"次机会!","猜数游戏",JOptionPane.INFORMATION_MESSAGE);

            else if(y<x)

                JOptionPane.showMessageDialog(null,"你猜的数小了,\n还有"+(2-i)

+"次机会!","猜数游戏",JOptionPane.INFORMATION_MESSAGE);

            else{

                if(i==0)

                    s="你太厉害了。";

                else if(i==1)

                    s="你很聪明。";

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

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

                flag++;

                break;

            }

         

        }

        if(flag==0)

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

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

    }

   

}

 

你可能感兴趣的:(dialog)