si pozrite ako su eventy v swingu
mate objekt Event, ten nesie timestamp, kto ho odoslal. mate napr. mouseclick event, ktory nesie x y koordinaty, tlacidlo mysi atd
mate listener MouseListener s piatimi metodami (kliklo sa, stlacilo sa stlacidlo, pustilo sa, +2x fokus)
mate MouseAdapter ktory prekryje vsetky metody prazdnym spravanim takze nemusite potom implementovat 5 metod ale len tu ktoru vam treba
---
alternativne: publikujete do generickeho busu konkretne objekty typu event (pripojil sa klient event, odpojil sa klient event)
mate genericky interfejs void handle(Event) ktory sa rozhodne ci to obsluzi alebo nie
alternativne: java ee / spring styl: publikujete do generickeho busu lubovolne objekty, anotujete metodu ako posluchaca na event daneho typu, reflexiou zistite ci anotovana metoda posluchaca vie zozrat dany objekt, ak ano, zavolate ju dynamicky