永发信息网

JAVA对话框

答案:2  悬赏:70  手机版
解决时间 2021-05-18 12:27

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MDialog extends JFrame implements ActionListener
{
MDialog()
{
super("显示确认对话框");
setSize(200,200);
setVisible(true);
setLayout(new FlowLayout());
JButton jbtn=new JButton("退出");
add(jbtn);
jbtn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String msg="你确认退出吗?";
int type=JOptionPane.YES_NO_OPTION; //什么意思
String title="确认对话框";
int choice=0; // 为什么要设置为0
choice=JOptionPane.showConfirmDialog(null,msg,title,type);

//为什么要choice= 而不是直接JO.show?

if(choice==0) //choice上面已经设为0了,这还IF干什么?
{
System.exit(0);
}
else System.out.println(choice);
}
}
public class a
{
public static void main(String [] args)
{
new MDialog();
}
}

最佳答案
String msg="你确认退出吗?";
int type=JOptionPane.YES_NO_OPTION; //什么意思 --相当于变量用于存储JOptionPane.YES_NO_OPTION的值(JOptionPane.YES_NO_OPTION是一个枚举值)
String title="确认对话框"; --后面需要用到的提示信息
int choice=0; // 为什么要设置为0 --局部变量初始化
choice=JOptionPane.showConfirmDialog(null,msg,title,type); --弹出确认对话框 将根据你的选择(yes/no)返回一个int值。 其实这里的type就是JOptionPane.YES_NO_OPTION。 他上面有一个变量去保存没必要,可以直接写在这里

//为什么要choice= 而不是直接JO.show?


if(choice==0) //choice上面已经设为0了,这还IF干什么?--现在用户选择了yes/no choice的值就根据选择的值而确定了。 选择yes返回0. 所以在这里判断其值是否为0 为0则应该退出程序

全部回答

import javax.swing.*; import java.awt.*; import java.awt.event.*; class MDialog extends JFrame implements ActionListener { MDialog() { super("显示确认对话框"); setSize(200,200); setVisible(true); setLayout(new FlowLayout()); JButton jbtn=new JButton("退出"); add(jbtn); jbtn.addActionListener(this); } public void actionPerformed(ActionEvent e) { String msg="你确认退出吗?"; int type=JOptionPane.YES_NO_OPTION; //这个是定义你下面showConfirmDialog对话框的类型“YES_NO_OPTION”表示有两个按钮,一个是一个否 String title="确认对话框"; int choice=0; // 为什么要设置为0,在这是初始化你也可以不定义,但是一般int类型都初始化为0 choice=JOptionPane.showConfirmDialog(null,msg,title,type);

//为什么要choice= 而不是直接JO.show? ,这是为下面的判断赋值啊,你在下面也提及了如果不赋值给choice它一直是0下面的if语句不就没有意义了

if(choice==0) //choice上面已经设为0了,这还IF干什么? { System.exit(0); } else System.out.println(choice); } } public class Test { public static void main(String [] args) { new MDialog(); } }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
赤松威龙主题曲MP3格式下载
跪求精美语句15句以上(要书名!!!)
长垣县新乡常村镇综合文化站地址在什么地方,
双色球2009141预测号
宁乡县长沙紫金阁地址有谁知道?有点事想过去
(化学制品对环境有害)翻译成英文
国家有关首套房贷的优惠政策都有哪些?
湖里实验中学校址
瘦身钢筋有什么问题
濮阳县濮阳垃圾中转站在哪里啊,我有事要去这
最新铁路技术与施工书哪里可以买到???(电
我想一下除了51之外还有哪个网站的相册有对外
比较长的广告台词,给我介绍5条广告词!越多越
今晚3D开什么号几率大?
最游记中悟空的口头禅肚子饿了的声音资源
推荐资讯
患了’反流性食道炎〔胃反流〕怎么办?
溆浦县怀化溆浦县城南汽车代售点这个地址怎么
邮件状态为:未妥投,是啥意思?
曾都区随州市特殊教育学校(北门)地址是什么,
书水浒传中的诗句,关于水浒传的名言
浉河区信阳天然气灶具油烟机热水器批发在哪里
芜湖哪里有卖《动漫前线》?
我肺不好!动过手术!最近伤口老是会疼!这是
我们现在80一家生几个孩子比较好能帮助一下吗
大祥区邵阳家兴盲人中医按摩地址是什么,有没
诛仙雏鹰展翅的任务双倍能叠加吗?
古诗词中的“空"到底是怎样一种意境
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?