A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许阳 黑马帝   /  2011-10-2 17:05  /  2268 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class JFrame {
     
     public static void main(String[] args) {
        Frame f = new Frame();
        f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent arg0){
                      System.exit(0);
            }
        });
        f.setSize(300,300);
        f.setVisible(true);
     }
}

         以上是我测试监视器注册与否功能的不同,如果按以上代码运行,程序正常,窗口打开时候也能关闭,
但是如果不要System.exit()这一行代码,之后程序能运行,但是弹出来的窗口怎么也关闭不了,请问各位有
没有不注册监视器但可以关闭这个窗口的方法(前提是不关闭编译器)?

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

4 个回复

倒序浏览
黑马网友  发表于 2011-10-2 17:41:31
沙发
jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
回复 使用道具 举报
楼主的意思是隐藏这个窗体吧?[code=java]f.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent arg0){
         f.setVisible(false);//设置可见性为false,不显示
    }
}[/code]
[ 本帖最后由 许晨峰 于 2011-10-02  17:56 编辑 ]
回复 使用道具 举报
另外注册监视器就是绑定这个事件罢了。不注册这个监视器,当你按下关闭按钮时,jvm根本不处理你这个事件。

不注册监视器,那你就要绑定别的事件咯。太多了。
回复 使用道具 举报
黑马网友  发表于 2011-10-2 19:02:39
报纸
你关闭窗口是是一个事件,事件是需要被监听和处理的,所以你说的要求不可以如愿。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马