Lancer un script à la fermeture de la fenêtre

Si vous souhaitez exécuter systématiquement un script au moment de la fermeture d'une fenêtre (croix rouge), vous devez gérer les événements spécifiques de celle-ci. Voici un exemple avec l'utilisation d'une classe controleur :

public class MainFenetre extends Observable {
protected JFrame fenetre;
    Fenetre fenetre;
    MainFenetre mf;
    public MainFenetre() {
        mf = this;
        fenetre = new JFrame();
        fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
   
        fenetre.addWindowListener (new WindowAdapter() {
            public void windowClosing(WindowEvent e){
                setChanged();
                ((Observable) obj).notifyObservers("quitter");
            }
        });
    }    

Dans cet exemple, la demande de fermeture de la fenêtre, par clic sur la croix, déclenchera un événement dans le contrôleur, qui pourra être traité ainsi :

public class Controleur implements Observer {
    MainFenetre fenetre = new MainFenetre();
    public Controleur() {
        /*
         * Lancement de l'ecoute des evenements de la fenetre
         */
        fenetre.addObserver(this);
    }
public void update(Observable arg0, Object pCommand) {
        String commande = (String) pCommand;
        switch (commande) {
        case "quitter":
            close();
            break;
        }
}

Il reste à définir ce que vous voulez faire dans la fonction close(), à écrire...