如何只关闭一个awt帧而不关闭其他?

时间:2016-04-27 12:34:09

标签: java awt

当我点击一帧的关闭(X)按钮时,它会关闭所有打开的帧。

我使用以下代码关闭框架

    Frame f2 = new Frame();
        f2.setVisible(true);
        f2.setLayout(null);
        f2.setSize(500,500);
        f2.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent w)
            {
            System.exit(0);
            }       
        });

System.exit(0)使整个申请结束。

我怎样才能只关闭一个帧?

2 个答案:

答案 0 :(得分:2)

System.exit();导致Java VM完全终止。

因此,您需要使用导致JFrame窗口被操作系统销毁和清理的JFrame.dispose();

Frame f2 = new Frame();
    f2.setVisible(true);
    f2.setLayout(null);
    f2.setSize(500,500);
    f2.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent w)
        {
        f2.dispose();
        }       
    });

post

的说明

答案 1 :(得分:1)

您也可以使用dispose()

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Work {

    public static void main(String[] args) {
        Frame f2 = new Frame();
        f2.setVisible(true);
        f2.setLayout(null);
        f2.setSize(500, 500);
        f2.
        f2.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent w) {
                w.getWindow().dispose();
            }
        });
    }
}

查看更多here