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?

Foi útil?

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
scroll top