Originariamente inviato da Yasha
Ops scusa Andrea, ho cliccato il link sulla mail e mi sono perso la tua risposta, quindi nel mio caso converrebbe dividere le due classi in file separati, essendo due listener diversi, che definirei top-level, giusto?
Lo ripeto meglio.

L'approccio 1 sorgente per 1 classe "top-level" è solo, per convenzione, il modo standard e pulito per strutturare i sorgenti.

Nessuno ti vieta di tenere le due classi nello stesso sorgente a patto che:
1) Quella con accesso package-level ti serva solo in quel package (altrimenti non quadrerebbe).
2) Se vuoi che javadoc consideri i commenti di quella package-level, devi passare al tool javadoc l'opzione per far considerare anche il package-level.

E comunque, riguardo i "listener", il punto è che a meno di fare cose particolari o che debbano essere facilmente "riutilizzabili", la implementazione dei listener andrebbe fatta il più vicino e "internamente" possibile alla classe che gestisce la interfaccia grafica.

Se hai un MioFrame che estende JFrame, allora i listener andrebbero implementati lì dentro. A scelta (secondo il design) direttamente implementati in MioFrame o con una inner/nested class.