Nel momento in cui cerchiamo di inserire la riga closeButton.addActionListener(this);, viene segnalato un errore in quanto il parametro di assActionListener deve essere appunto un ActionListener.
La nostra classe non è un ActionListener e deriva da JFame, qundi come possiamo farla derivare da ActionListener?
Per fortuna ActionListener non è una class ma una interface. Possiamo quindi aggiungere la dipendenza con la parola chiave implements.
Una classe può estendere una sola classe padre, ma può implementare quante interfacce vuole.
Per fare scomparire questo errore, dovremo aggiungere il metodo, richiesto dall'interfaccia, public void actionPerformed(ActionEvent evt) che verrà richiamato dal bottone, quando verrà premuto.
Nel momento in cui aggiungiamo alla classe implements ActionListener scompare l'errore sulla addActionListener ma ne compare uno sulla classe.