確認對話框ConfirmDialog和選擇對話框OptionDialog


確認對話框ConfirmDialog給出提示信息和若干個按鈕供用戶選擇,共有4個showConfirmDialog重載方法。對話框的按鈕通常為:“是”、“否”、“取消”和“確認”及組合,showConfirmDialog()方法的返回值為整型常量,當按下一個按鈕時,返回相應的整型常量,“是”、“否”、“取消”和“確認”對應的常量分別是:0、1、2、0,當按下對話框的“關閉按鈕”關閉對話框時,返回值是:-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);

    }

   

}

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

 

 

 http://lbsnm.iteye.com/blog/1478136


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM