Prima di tutto hai bisogno di qualche fonte di eventi, così puoi ascoltarlo attacante. Se hai bisogno di un listener personalizzato, devi anche implementare la sorgente personalizzata.
In Java è possibile trovare fonti esistenti e interfacce listener
. Come hai detto, la GUI si basa solitamente su eventi. Se si è in 3D, i motori di rendering forniscono l'API appropriata (ad esempio collision detection
), i hook del file system, le proprietà cambiano gli ascoltatori (Android
).
Dipende da quali sono le vostre esigenze. Per la maggior parte degli usi ci dovrebbe essere già una libreria che ti fornisca l'API appropriata.
Mentre si implementa la propria soluzione, per la gestione di eventi a livello di applicazione l'Event Bus potrebbe essere una buona scelta. Il mio preferito è l'attuazione nella biblioteca Guava: http://code.google.com/p/guava-libraries/wiki/EventBusExplained
fonte
2012-12-21 13:13:07
puoi anche tenere la lista fuori dagli ascoltatori. Quindi, invece del metodo setListener, create addListener(), removeListener(), removeAllListeners(); –
Funziona come lo schema dell'osservatore, vero? –
@WlofrevoKcast Sì, è lo schema dell'osservatore. – assylias