黑马程序员技术交流社区

标题: 网络编程中的小麻烦 [打印本页]

作者: 许阳    时间: 2011-10-2 17:05
标题: 网络编程中的小麻烦
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()这一行代码,之后程序能运行,但是弹出来的窗口怎么也关闭不了,请问各位有
没有不注册监视器但可以关闭这个窗口的方法(前提是不关闭编译器)?
作者: 匿名    时间: 2011-10-2 17:41
jframe.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
作者: 许晨峰    时间: 2011-10-2 17:53
楼主的意思是隐藏这个窗体吧?[code=java]f.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent arg0){
         f.setVisible(false);//设置可见性为false,不显示
    }
}[/code]
[ 本帖最后由 许晨峰 于 2011-10-02  17:56 编辑 ]
作者: 许晨峰    时间: 2011-10-2 17:55
另外注册监视器就是绑定这个事件罢了。不注册这个监视器,当你按下关闭按钮时,jvm根本不处理你这个事件。

不注册监视器,那你就要绑定别的事件咯。太多了。
作者: 匿名    时间: 2011-10-2 19:02
你关闭窗口是是一个事件,事件是需要被监听和处理的,所以你说的要求不可以如愿。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2