Evento Onexit para um aplicativo Swing?
Pergunta
Estou desenvolvendo um aplicativo simples para gerenciar a parte operacional de uma empresa usando o Swing, mas preciso disso quando o aplicativo sair, ele executa o seguinte:
updateZonas();
db.close();
Mas como posso fazer isso?
Solução
Runtime.getRuntime().addShutdownHook(new Thread()
{
@Override
public void run()
{
updateZonas();
db.close();
}
});
Isso funciona para qualquer aplicativo Java (swing/awt/console)
Outras dicas
Você está usando um jframe? Se sim, você pode tentar isso:
myframe.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent winEvt) {
updateZonas();
db.close();
System.exit(0);
}
});
Adicione a WindowListener
para o seu jframe. Seu windowClosing
o método chamaria qualquer código que você precisar, então System.exit(0)
(ou algum outro código de retorno).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow