Получить событие закрытия приложения - PullRequest
13 голосов
/ 16 февраля 2012

Как попасть на событие закрытия приложения?

Я хочу получить приложение для сохранения всех несохраненных операций или показать пользователю сообщение «Вы уверены, что закроете без сохранения всех данных?» что-то вроде этого.

Если это будет полезно - приложение SingleFrameAplication использует Swing.

Ответы [ 3 ]

20 голосов
/ 16 февраля 2012

Вы можете использовать отключающий крюк . Он работает для Swing, AWT и даже консольных приложений.

Пример:

Runtime.getRuntime().addShutdownHook(new Thread()
{
    @Override
    public void run()
    {
        //do your stuff
    }
});
2 голосов
/ 16 февраля 2012

Вы должны добавить WindowListener к вашему JFrame / JDialog, о закрытии события есть метод public void windowClosing(WindowEvent e) { пример кода здесь

0 голосов
/ 17 февраля 2012

Вы можете использовать sun.misc.Signal или Runtime.getRuntime().addShutdownHook

Подробнее

...