filograndipad2 ha scritto:
Qualcuno potremme indicarmi una buona guida (anche in inglese) sulla gestione degli eventi in Java ricca di esempi e che non abbia nulla a che fare con le interfacce grafiche? Pare che per le persone il concetto di evento sia necessariamente legato a quello di gui ma non è affatto vero e questo porta solo ad una grande confusione.
Partiamo da una questione base: il linguaggio Java in sé non ha nulla di intrinseco/predefinito relativo alla gestione degli "eventi". Tutto ciò che si può fare per gli eventi si fa tramite una apposita "architettura" che si basa sulla programmazione ad oggetti.
Java oltre alle classi ha le
interface (astrazioni "pure"). Il meccanismo di "callback" basilare si può fare tipicamente con una interface. La classe X riceve un oggetto di interfaccia Y. Quando X vuole segnalare "qualcosa", invoca un metodo sull'oggetto di interfaccia Y. Questo è il meccanismo basilare delle callback.
Un po' più sù c'è il noto design pattern "Observer", che può essere sì certamente fatto con l'uso di una interface ma è anche di più nel senso che l'oggetto "osservabile" mantiene di norma una lista di "osservatori" a cui notificare qualcosa.
Ancora un po' più sù ci sono i listener delle interfacce grafiche AWT/Swing che sono alla fin fine una "specializzazione" del pattern Observer.