苹果上能编程java的apq,确认对话框ConfirmDialog和选择对话框OptionDialog:猜数游戏...

确认对话框ConfirmDialog给出提示信息和若干个按钮供用户选择,共有4个showConfirmDialog重载方法。对话框的按钮通常为:“是”、“否”、“取消”和“确认”及组合,showConfirmDialog()方法的返回值为整型常量,当按下一个按钮时,返回相应的整型常量,“是”、“否”、“取消”和“确认”对应的常量分别是:0、1、2、0,当按下对话框的“关闭按钮”关闭对话框时,返回值是:-1。

1.showConfirmDialog(Component parentComponent, Object message);

这个方法由参数“Object message”给出提示信息,按钮为默认的“是”、“否”和“取消”。

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

419dd27f8da03cbd41174e459dd11528.png

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

4b870e8525bb314790fc4ecbc1007828.png

只有一个“确定”选择,选中后返回值是0。

例int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.YES_NO_OPTION);

098145a04c9234e691036ef146f55a1c.png

选中“是”返回0,选中“否”返回1。

例int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.YES_NO_CANCEL_OPTION);

c1aed31b5fc84096f04da9630fa80694.png

返回值:“是”:0,“否”:1,“取消”:2。

例int n=JOptionPane.showConfirmDialog(null, "提示信息","标题",JOptionPane.OK_CANCEL_OPTION);

98eb766bf8d66c5f0641295df4b99ca4.png

返回值:“确定”: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);

56e531988d7a2c484d9044906100f0cc.png

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

0de0d3b5a4ac340aa91856d4b380551f.png

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”确定了默认选中的按钮。

例:

a98cb65bd6d4e455a929f675c01b38ba.png

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

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

}

}

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

c446da6261c39a842874b3189056d6c3.png

da9c6e7caa69eeebf835ff8a07a9a53d.png

6e29b6c2d0228f2a9202905b3b329bd5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值