import java.awt.*;
import java.awt.event.*;
public class WindowEvent
{
public static void main(String[] args)
{
new MyFrame("window closing");
}
}class MyFrame extends Frame
{
public MyFrame(String s )
{
super(s);
setLayout(null);
setVisible(true);
setBounds(300,300,200,200);
this.addWindowListener(new MyWindow());
}
class MyWindow extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);
}
}
}

解决方案 »

  1.   

    public static void main(String[] args)
    {
    MyFrame frame = new MyFrame("window closing");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    这样就能退出来了。
      

  2.   

    因为你自己写的WindowEvent类把java.awt.event.WindowEvent类屏蔽了,把你自己写的WindowEvent类换个名字
    import java.awt.*;
    import java.awt.event.*;public class WindowEventTest
    {
    public static void main(String[] args)
    {
    new MyFrame("window closing");
    }
    }class MyFrame extends Frame
    {
    public MyFrame(String s )
    {
    super(s);
    setLayout(null);
    setVisible(true);
    setBounds(300,300,200,200);
    this.addWindowListener(new MyWindow());
    }

    class MyWindow extends WindowAdapter
    {
    public void windowClosing(WindowEvent e)
    {
    setVisible(false);
    System.exit(0);
    }
    }
    }