I have been investigating on how to add my own events to classes, but I have not seen any example of more than one event, so I have investigated how the java api had done it, and this is my result:
public class EventoUno extends EventObject{
public EventoUno(Object source){
super(source);
}
}
public class EventoDos extends EventObject{
public EventoDos(Object source){
super(source);
}
}
public interface EventoListener extends EventListener{
public void eventoUnoOcurrio(EventoUno e1);
public void eventoDosOcurrio(EventoDos e2);
}
public abstract class EventoAdapter implements EventoListener{
public void eventoUnoOcurrio(EventoUno e1){}
public void eventoDosOcurrio(EventoDos e2){}
}
public class Clase {
EventListenerList ell = new EventListenerList();
public void addEventoUnoListener(EventoAdapter e1){
ell.add(EventoListener.class, e1);
}
public void addEventoDosListener(EventoAdapter e2){
ell.add(EventoListener.class, e2);
}
public void removeEventoUnoListener(EventoAdapter e1){
ell.remove(EventoListener.class, e1);
}
public void removeEventoDosListener(EventoAdapter e2){
ell.remove(EventoListener.class, e2);
}
public void producirEventoUno(){
}
public void producirEventoDos(){
}
}
public class app {
public static void main(String[] args) {
Clase c = new Clase();
c.addEventoUnoListener(new EventoAdapter() {
@Override
public void eventoUnoOcurrio(EventoUno e1) {
System.out.println("Evento 1 ocurrio");
}
}
);
c.addEventoUnoListener(new EventoAdapter() {
@Override
public void eventoUnoOcurrio(EventoUno e1) {
System.out.println("Evento 2 ocurrio");
}
}
);
c.producirEventoUno();
c.producirEventoDos();
}
}
The question I have is how do I skip the event when I run produceEventOne (), and produceEventDos ().
Thank you.
Greetings.