2012-02-16 5 views
12

Come arrivare all'evento di chiusura dell'applicazione?Ricevi l'evento di chiusura dell'applicazione

Voglio ottenere l'applicazione per salvare tutte le operazioni non salvate o mostrare all'utente un messaggio "Sei sicuro di chiudere senza salvare tutti i dati?" qualcosa come questo.

Se ciò sarà utile, l'applicazione è SingleFrameAplication utilizzando Swing.

risposta

18

È possibile utilizzare uno shutdown hook. Funziona per applicazioni Swing, AWT e persino per console.

Esempio:

Runtime.getRuntime().addShutdownHook(new Thread() 
{ 
    @Override 
    public void run() 
    { 
     //do your stuff 
    } 
}); 
+4

sii cauto usando i link roseindia. per favore leggi http://balusc.blogspot.com/2008/06/what-is-it-with-roseindia.html Vorrei raccomandare http://docs.oracle.com/javase/7/docs/api/java /lang/Runtime.html#addShutdownHook(java.lang.Thread) come link invece – Sean

+1

@Sean, grazie per l'avviso! Ho modificato la risposta con un link più legittimo. –

2

È necessario aggiungere WindowListener al vostro JFrame/JDialog, di chiudere evento è lì metodo pubblico void windowClosing(WindowEvent e) { codice di esempio here

0

È possibile utilizzare sun.misc.Signal o Runtime.getRuntime().addShutdownHook

More info