Очистка перед выходом из Java-приложения - PullRequest
5 голосов
/ 17 апреля 2011

Я пишу небольшое Java-приложение с использованием Swing. Приложение также имеет сетевой компонент.

Я хочу запустить некоторый код перед выходом (закрыть каналы, ключи и т. Д.). Есть способ сделать это, не добавляя кнопку «Выход» в моем интерфейсе, чтобы выполнить очистку, а затем выполнить System.exit ( )

Ответы [ 3 ]

8 голосов
/ 18 апреля 2011

Вы можете использовать функцию Runtime#addShutdownHook, чтобы добавить функцию, запускаемую при выключении JVM.

5 голосов
/ 18 апреля 2011

Вы должны быть в состоянии сделать то, что вы хотите в windowClosing(), показанном здесь .

1 голос
/ 18 апреля 2011

«Закрыть ключи»: SelectionKeys? Вам не нужно ничего делать с этим. Закрытие канала автоматически отменяет все его клавиши выбора. И если у вас нет ожидающих данных, которые вам нужно сбросить, вам на самом деле не нужно закрывать каналы, ОС сделает это за вас.

...