Como faço para que meu aplicativo Java seja desligado corretamente no Windows?

Eu tenho um aplicativo Java que eu quero desligar 'bem' quando o usuário seleciona Iniciar-> Desligar. Tentei usar os ouvintes de desligamento da JVM via Runtime.addShutdownHook (...), mas isso não funciona, pois não posso usar nenhum elemento da interface do usuári

Eu também tentei usar o manipulador de saída na janela principal da interface do aplicativo, mas ele não tem como pausar ou interromper o desligamento, tanto quanto eu sei. Como posso lidar bem com o desligamento?

questionAnswers(2)

yourAnswerToTheQuestion