Можно добавить, что завершение работы сцепляется с приложением путем выполнения следующего:
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
// what you want to do
}
}));
Это в основном эквивалентно наличию попытки {} наконец {} блок вокруг Вашей всей программы и в основном охватывает то, что находится в наконец блок.
отметьте эти протесты хотя!
Добавление рычага завершения работы addShutdownHook (java.lang. Поток) , вероятно, что Вы ищете. Существуют проблемы с тем подходом, хотя:
, Таким образом, могло бы быть лучше сохранить настройки сразу (возможно в дополнительном потоке, постараться не ожидать времена).
Используя Runtime.getRuntime () .addShutdownHook (), конечно, способ сделать это - но если Вы пишете приложения Swing, я настоятельно рекомендую смотреть на JSR 296 (Среда разработки приложения Swing)
Вот хорошая статья об основах: http://java.sun.com/developer/technicalArticles/javase/swingappfr/ .
ссылочная реализация JSR обеспечивает вид функций, которые Вы ищете в более высоком уровне абстракции, чем добавляющие рычаги завершения работы.
Вот ссылочная реализация: https://appframework.dev.java.net /
Вы создаете одинокое приложение для GUI (т.е. Swing)?
Если так, необходимо рассмотреть, как Вы предоставляете возможности своим пользователям, как выйти из приложения. А именно, если бы там будет меню File, я ожидал бы, что будет пункт меню "Exit". Кроме того, если бы пользователь закрывает последнее окно в приложении, я также ожидал бы, что это выйдет из приложения. В обоих случаях это должно назвать код, который обрабатывает сохранение предпочтений пользователя.