Quote:
Originariamente inviato da ally
...il mio problema è che diversi eventi lanciati da diverse classi arrivino ad una sola classe...l'ipotetica BongoEvent dovrebbe percio' essere in grado di ricevere diverse tipologie di event...
...sto forse sbagliando io?...è possibile assegnare informazioni all'evento generato?...
...ciao...
|
Citando andbin
Quote:
|
C'è una interfaccia che definisce il "contratto", c'è un oggetto che definisce l'evento e un oggetto che fa da "sorgente" e che ha una lista degli ascoltatori da notificare.
|
devi prima chiarirti quali sono questi eventi e quali informazioni devono portarsi dietro dopo di che nessuno ti impedisce di definire un'interfaccia ed uno o piu eventi in funzione delle tue esigenze.
Ad esempio:
Codice:
public class MyEventoA extends EventObject {
int a;
public MyEventoB(Object source, int a) {
super(source);
this.a = a;
}
}
public class MyEventoB extends EventObject {
String msg;
public MyEventoB(Object source, String msg) {
super(source);
this.msg;
}
}
// .. quanti ne vuoi
public interface MyMultyEventListener {
public void performedEvantoA(MyEventoA e);
public void performedEvantoB(MyEventoB e);
..... // quanti ne vuoi
}
La classe che deve ricevere i vari eventi implementa l'interfaccia MyMultyEventListener mentre ciascuna delle classi che lancia il singolo evento implementa un metodo fireMyEvento<X>().