Т.е много где видел,что в Java обычно достаточно быть "слушателем" события,а не его "источником".Интересен именно пример с "источником события".Если есть у кого,буду рад глянуть)
Вот пример
class MyEvent extends EventObject {
public MyEvent(Object source) {
super(source);
}
}
interface MyEventListener extends EventListener {
public void myEventOccurred(MyEvent evt);
}
class MyClass {
protected EventListenerList listenerList = new EventListenerList();
public void addMyEventListener(MyEventListener listener) {
listenerList.add(MyEventListener.class, listener);
}
public void removeMyEventListener(MyEventListener listener) {
listenerList.remove(MyEventListener.class, listener);
}
void fireMyEvent(MyEvent evt) {
Object[] listeners = listenerList.getListenerList();
for (int i = 0; i < listeners.length; i = i+2) {
if (listeners[i] == MyEventListener.class) {
((MyEventListener) listeners[i+1]).myEventOccurred(evt);
}
}
}
}
public class Events {
public static void main(String[] argv) throws Exception {
MyClass c = new MyClass();
c.addMyEventListener(new MyEventListener() {
public void myEventOccurred(MyEvent evt) {
System.out.println("fired");
}
});
c.fireMyEvent(new MyEvent(new Object()));
}
}
Продвижение своими сайтами как стратегия роста и независимости