Petite illustration de l'utilisation de la bibliothèque AWT
Autre solution possible

 

Le problème

La précédente solution consistait à écrire une classe Fenetre qui étende Frame et implémente WindowListener. Cette approcha à au moins un inconvénient : il faut réécrire les 7 méthodes de l'interface WindowListener ce qui peut sembler un peu fastidieux.

La solution

Les concepteurs de Java, conscients du problème, ont donc fournit une classe WindowAdapter qui n'est rien d'autre qu'une classe concrète implémentant les 7 méthodes de WindowListener mais avec des corps de méthodes vides. Il suffit alors d'écrire une classe monWindowAdapter qui étende WindowAdapter et qui surcharge simplement windowClosing. Attention toutefois : cette classe doit posséder un attribut de type Frame qui lui est passé par le constructeur. Ceci nous assure la possibilité d'utiliser la méthode dispose() dans windowClosing.

Il n'y a plus alors qu'à écrire une nouvelle classe Fenetre2 qui utilise un objet monWindowAdapter pour écouter les événements de fenêtre.