转载自:http://lbsnm.iteye.com/blog/1478136
确认对话框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 //“确定”、“取消”按钮
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); } }
浙公网安备 33010602011771号