为什么我的应用程序在关闭主窗口后仍然运行?

2022-09-03 12:39:32

如果我像这样制作一个JFrame

public static void main(String[] args) {

     new JFrame().setVisible(true);
}

然后在关闭窗口后,appication不会停止(我需要杀死它)。

显示应用程序主窗口的正确方法是什么?

我还想知道建议的解决方案的原因。

提前致谢。


答案 1

您应该在 JFrame 中调用 。setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

示例代码:

public static void main(String[] args) {
    Runnable guiCreator = new Runnable() {
        public void run() {
            JFrame fenster = new JFrame("Hallo Welt mit Swing");
            fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            fenster.setVisible(true);
        }
    };
    SwingUtilities.invokeLater(guiCreator);
}

答案 2

应用程序窗口和应用程序本身之间存在差异...该窗口在其自己的线程中运行,如果其他线程仍处于活动状态,则完成操作不会结束应用程序。关闭窗口时,您还应该确保关闭应用程序,可能通过调用main()System.exit(0);

尤瓦尔=8-)


推荐