close.addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent e) {
System.exit(0);
}

});如果我不想用System.exit(0)来关闭窗口。
有没有别的方法可以实现点击close按钮后关闭窗口的方法。

解决方案 »

  1.   

    如果你需要关闭整个程序,那么除了System.exit(0)以外应该没有什么其他的,而且用其他的也没什么意义。
    如果你只是想隐藏某个窗口,可以使用setVisible(false)。
    如果你想只关闭某个窗口,不退出整个程序,可以用dispose()。import java.awt.Frame;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public class T {    public static void main(String[] args) {
            final Frame frame1 = new Frame("1");
            final Frame frame2 = new Frame("2");
            Frame frame3 = new Frame("3");
            frame1.setBounds(0, 0, 200, 200);
            frame2.setBounds(200, 0, 200, 200);
            frame3.setBounds(400, 0, 200, 200);
            frame1.setVisible(true);
            frame2.setVisible(true);
            frame3.setVisible(true);
            frame1.addWindowListener(new WindowAdapter() {
                @Override
                // 关闭当前窗口。
                public void windowClosing(WindowEvent e) {
                    frame1.dispose();
                }
            });
            frame2.addWindowListener(new WindowAdapter() {
                @Override
                // 隐藏当前窗口。
                public void windowClosing(WindowEvent e) {
                    frame2.setVisible(false);
                }
            });
            frame3.addWindowListener(new WindowAdapter() {
                @Override
                // 系统退出。
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });
        }}
      

  2.   

    frame1.dispose();
    不要用
    System.exit(0);
    这个是关闭应用程序