如何从代码中关闭java应用程序

时间:2011-08-02 23:38:16

标签: java swing windowlistener

如何从代码中关闭java应用程序?

5 个答案:

答案 0 :(得分:14)

您致电System.exit

System.exit(0);

答案 1 :(得分:5)

我认为,按照大多数标准,System.exit()是关闭应用程序的一种非常OOP方式,我总是被告知正确的方法是从main返回。这有点痛苦,需要一个好的设计,但我相信它是“正确的”退出方式

答案 2 :(得分:3)

如果您要终止Swing应用,我会做EXIT_ON_CLOSE

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
System.exit(0)之前

。这样做更好,因为您可以在实际离开应用程序之前编写Window Listener来进行一些清理操作。

该窗口监听器允许您从代码中退出应用程序:

public void windowClosing(WindowEvent e) {
    displayMessage("WindowListener method called: windowClosing.");
    //A pause so user can see the message before
    //the window actually closes.
    ActionListener task = new ActionListener() {
        boolean alreadyDisposed = false;
        public void actionPerformed(ActionEvent e) {
            if (frame.isDisplayable()) {
                alreadyDisposed = true;
                frame.dispose();
            }
        }
    };
    Timer timer = new Timer(500, task); //fire every half second
    timer.setInitialDelay(2000);        //first delay 2 seconds
    timer.setRepeats(false);
    timer.start();
}

public void windowClosed(WindowEvent e) {
    //This will only be seen on standard output.
    displayMessage("WindowListener method called: windowClosed.");
}

答案 3 :(得分:2)

如果您正在运行某个应用程序,System.exit将起作用。

System.exit(int);

但是,在applet中,由于浏览器权限,您必须按照applet.getAppletContext().showDocument("landingpage.html");的方式执行某些操作。它不仅可以让您关闭浏览器窗口。

答案 4 :(得分:1)

您使用System.exit(int),其中值0表示应用程序已成功关闭,而任何其他值通常表示出现问题。通常,如果应用程序未成功关闭,您只会看到返回值1以及打印到sysout或syserr的消息。

一切都很好,应用程序正确关闭:
System.exit(0)

出了问题,申请没有正确关闭:
System.err.println("some meaningful message"); System.exit(1)