java中,关于关闭窗口的一个问题.

我写的一个java程序中,在自己写的一个退出按键中,语句就可以实现功能,但在下面这节代码中,却无法实现了,也就是在弹出关闭询问窗口后,我在点击"否"和"取消",也一样要关... 我写的一个java程序中,在自己写的一个退出按键中,语句就可以实现功能,但在下面这节代码中,却无法实现了,也就是在弹出关闭询问窗口后,我在点击"否"和"取消",也一样要关闭窗口.没有实现点"否"和"取消 "就不关闭的功能.:请各位大虾帮帮忙.
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JOptionPane;

public class F{
public static void main(String args[]){

//调用TextEditorFrame类,并生成对象
TextEditorFrame f=new TextEditorFrame();

//调用addWindowListener类
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{

//处理程序结束事件
TextEditorFrame f=new TextEditorFrame();

int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);

//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}

});
/*设置显示界面*/
f.setTitle("***********");
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
}
展开
 我来答
百度网友4de799753
2007-08-11 · 超过16用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:0
展开全部
import java.awt.Dimension;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;

public class F{
public static void main(String args[]){

//调用TextEditorFrame类,并生成对象
Frame f=new Frame();
f.setVisible(true);
//调用addWindowListener类
f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{

//处理程序结束事件
JFrame f=new JFrame();

int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);

//判断是否结束并执行相应操作
if(s==JOptionPane.YES_OPTION)
{
System.exit(0);
}
//--------------以上是出问题的代码.
}

});
/*设置显示界面*/
f.setTitle("***********");
f.setVisible(true);
f.setSize(800,600);
//获取屏幕信息,并将窗口位置设在屏幕最中间
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

int w = f.getSize().width;
int h =f.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
//f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setLocation(x,y);
f.show();
}
}
hilyfe
2007-08-12 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:217万
展开全部
因为不知道你TextEditorFrame类是怎么写的,是不是用了setDefaultCloseOperation(EXIT_ON_CLOSE);
本类的话,可以参考楼上的,但是同样要把上面的setDefaultCloseOperation(EXIT_ON_CLOSE); 去掉才行.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xieweiling0416
2007-08-12
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
请问setDefaultCloseOperation()方法是在哪里调用的啊??我编译时显示这个方法没有被定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式