Originariamente inviato da fpertegato
ma ora in compilazione mi dice che Bottone.BottoneWindowListener non è un metodo astratto e non sovrascrive windowDeactivated(java.awt.event.WindowEvent) in java.awt.event.WindowListener... :master:
WindowListener è un'interfaccia che oltre a windowClosing dichiara altri metodi.

Hai due possibilità:
1 - scrivi anche tutti gli altri metodi (se non ti servono li lasci vuoti)
2 - al posto di implementare WindowListener estendi WindowAdapter

Piccolo suggerimento: implementare i gestori di eventi come stai facendo ora è prolisso. Puoi sfruttare le classi interne anonime.
codice:
...
this.addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e) {
    System.exit(0);
  }
});