关于JOptionPane的showConfirmDialog问题

我写记事本时首先setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);然后对关闭按钮做了如下处理:addWindowL... 我写记事本时 首先 setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
然后对关闭按钮做了如下处理:
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
if (selectedFile == null //这个代表是一个空的文档,点击直接退出,成功
&& textArea.getText().equals("")){
System.exit(0);
}else if(JOptionPane.showConfirmDialog(container, "是否保存?",
"是否保存", JOptionPane.YES_NO_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION){
//当有文档时,点关闭时弹出对话框,按“取消”则返回,成功
return;
}else if(JOptionPane.showConfirmDialog(container, "是否保存?",
"是否保存", JOptionPane.YES_NO_CANCEL_OPTION) == JOptionPane.NO_OPTION){
//当点关闭,按“否”(即不保存时),还会出现一次对话框,要再按一次“否”才退出
System.exit(0);
}else if(JOptionPane.showConfirmDialog(container, "是否保存?",
"是否保存", JOptionPane.YES_NO_CANCEL_OPTION) == JOptionPane.YES_OPTION){
//当点关闭,点“是”,要三次才可以保存,再退出!
//保存功能代码
}

具体原因看注释处
是不是执行JOptionPane的showConfirmDialog时,只要前面有这个语句,就要执行完啊?
要怎么设置才执行相应点击处得代码啊?抑或是我这个结构不对?
展开
 我来答
ufw0817
2011-12-06 · TA获得超过148个赞
知道答主
回答量:44
采纳率:0%
帮助的人:50.2万
展开全部
这么回答你吧,你检测完了文件后,发现那个没问题,文件存在且文件有内容.
下面就进你的else if了.你的写法让系统一个个进行判断,只有你选择后,它才确定那条语句的值.所以你的三个else if全让你选择.
你的代码改成如下.
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
if (selectedFile == null //这个代表是一个空的文档,点击直接退出,成功
&& textArea.getText().equals("")){
System.exit(0);
}
int res = JOptionPane.showConfirmDialog(container, "是否保存?","是否保存",JOptionPane.YES_NO_CANCEL_OPTION);
然后用res进行判断
if(res == JOptionPane.YES_OPTION){
//当点关闭,点“是”,要三次才可以保存,再退出!
//保存功能代码
}else if(res== JOptionPane.NO_OPTION){
//当点关闭,按“否”(即不保存时),还会出现一次对话框,要再按一次“否”才退出
System.exit(0);
}else if(res== JOptionPane.CANCEL_OPTION){
//当有文档时,点关闭时弹出对话框,按“取消”则返回,成功
return;
}

大体就是这个意思了,不过那个返回值是不是int类型的我就不记得了,这个需要你自己判断下.嘿嘿
追问
嗯  正确!!!
名师面授精华
2011-12-06 · TA获得超过421个赞
知道小有建树答主
回答量:236
采纳率:83%
帮助的人:83.4万
展开全部
写一个showConfirmDialog不行吗,保存一下返回值,然后在下面判断一下。调三次showConfirmDialog肯定出现三次对话框啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式