Get the application closing event

2019-01-23 06:38发布

问题:

How to get to the application closing event?

I want to get application to save all unsaved operations or show the user a message "Are you sure about closing without saving all data?" something like this.

If this will be helpful - the application is a SingleFrameAplication using Swing.

回答1:

You could use a shutdown hook. It works for Swing, AWT and even console applications.

Example:

Runtime.getRuntime().addShutdownHook(new Thread()
{
    @Override
    public void run()
    {
        //do your stuff
    }
});


回答2:

You have to add WindowListener to your JFrame / JDialog, about closing event is there method public void windowClosing(WindowEvent e) { code example here



回答3:

You can use sun.misc.Signal or Runtime.getRuntime().addShutdownHook

More info