Boas. eu quero que o meu editor de texto pergunte se quero gravar o ficheiro quando eu fecho a minh aplicação. como faço isso? ha alguma maneira de por um actionlistener nessa operacao de encerramento?
Como adicionar um ActionListener à operação de encerramento da aplicaçao?
6 Respostas
Olá,
Na sua JFrame adiciona um WindowListener ou um WindowAdapter…
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent evt) {
}
public void windowClosing(WindowEvent evt) {
}
});
Daí vc adiciona o q quiser ali dentro… :thumbup:
ok. eu estou a usar o windowClosing () para antes de fechar perguntar atraves de um optionDialog (com SIM, NAO e CANCELAR) se quer gravar o ficheiro… mas como faço para se o ususario clicar CANCELAR, ou seja para que tudo volte como estava interrompendo o encerramento?
bom nao sei como vc ta resgatando a informação do click de botao mas seria algo
seria algo bem simples dentro do metodo windowClosing como
if (!cancelou) { // se nao cancelou vou me preucupar em tratar as outras opcoes
if (sim)
//codigo
if(nao)
//codigo
}
// ou seja se cancelar ele nao faz nada
pois… ele nao faz mais nada, ou seja, continua com o que foi interrompido, ou seja, continua com a operação de encerramento. o que eu qeria era que ele voltasse mesmo atras antes de ter pedido para encerrar…
ja percebi como é.
tenho que definir o DefaultCloseOperation para DO_NOTHING_ON_CLOSING e depois
if (nao)
{
Window window = ((Window)evt.getSource ());
window.dispose ();
}
o swing application framework já faz isso…pq nao da uma olhada…
https://appframework.dev.java.net/
http://java.sun.com/developer/technicalArticles/javase/swingappfr/