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