楼主可以看看内部类常见的使用方法,这里的new WindowAdapter(){...}就是一个典型的匿名内部类的实现。addWindowListener需要一个实现WindowListener接口的对象,这里的WindowAdapter是对上述接口的一个包装,我们实际上在这里临时定义了一个由WindowAdapter类继承的子类(只是没有类名),后面的{...}代码就是这个子类的定义体,定义体中重写了windowClosing方法。至于System.exit(0)以及System.exit(1)这样的东东没有硬性的规定,只是习惯上大家都用0表示正常退出,而其他值表示非正常退出。另外,我猜楼主用的教材有点老了吧?用这样的方式来实现窗口关闭后退出程序是Swing出现之前、AWT当道时的典型做法,在较新的Swing中,更推荐的做法是对主窗口(一个JFrame)在创建后调用其setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);希望对楼主有帮助。

解决方案 »

  1.   

    this.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent event)
    {
                System.exit(0);
    }
    }
    );  '这个括号为什么括这里啊?不是在上面跟着前一半的吗?不解!
    还有这里的new WindowAdapter() ,为什么要new 呢? 我所看的书上都是用this 的,有点不明啊,可以解释一下吗?
      

  2.   

    楼上可以看看匿名内部类的通常用法。整个new WindowAdapter{...}都是addWindowListener这个方法的参数。
      

  3.   

    感谢楼上的了哈,使小弟受益匪浅.
    小弟还想请教一个问题:java用得最广的是在哪些方面哟?我们这学期开设了java这门课程,但我觉学学习起来有点不好学,而且在jdk中也是Dos方式,调试也不好调试的,现在总是想做一点东西出来,但也不知道该如何下手?不知道是用java还是jsp好,我感觉到有点迷茫,现在也不知道该如何下手了,所以还望多多指点哈!!!谢谢