確認對話框ConfirmDialog和選擇對話框OptionDialog:猜數遊戲

 

確認對話框ConfirmDialog給出提示信息和若干個按鈕供用戶選擇,共有4showConfirmDialog重載方法。對話框的按鈕一般爲:「是」、「否」、「取消」和「確認」及組合,showConfirmDialog()方法的返回值爲整型常量,當按下一個按鈕時,返回相應的整型常量,「是」、「否」、「取消」和「確認」對應的常量分別是:0120,當按下對話框的「關閉按鈕」關閉對話框時,返回值是:-1 java

1.  showConfirmDialog(Component parentComponent, Object message) 數組

這個方法由參數「Object message」給出提示信息,按鈕爲默認的「是」、「否」和「取消」。 dom

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


 

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

參數「int optionType」肯定了按鈕的定製,具體取值是: it

DEFAULT_OPTION //「肯定」按鈕 io

YES_NO_OPTION // 「是」、「否」按鈕 class

YES_NO_CANCEL_OPTION //「是」、「否」、「取消」按鈕 import

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);

    }

   

}

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




相關文章
相關標籤/搜索