1,先自定义一个事件public class MyEvent extends java.util.EventObject{
public MyEvent(Object source)
{
super(source);
}
}2,再自定义一个监听器public class MyListener implements java.util.EventListener{
//这里是当事件发生后的响应过程
public void EventActivated(MyEvent me)
{
System.out.println("事件已经被触发");
}
}3,以下这个类为触发事件的事件源public class MyObject {
private Vector vectorListeners=new Vector();
public synchronized void addMyListener(MyListener ml)
{
vectorListeners.addElement(ml);
}
public synchronized void removeMyListener(MyListener ml)
{
vectorListeners.removeElement(ml);
}
protected void activateMyEvent()
{
Vector tempVector=null;
MyEvent e=new MyEvent(this);
synchronized(this)
{
tempVector=(Vector)vectorListeners.clone();
for(int i=0;i<tempVector.size();i++)
{
MyListener ml=(MyListener)tempVector.elementAt(i);
ml.EventActivated(e);
}
}
}
//定义一个公用方法用于触发事件
public void test()
{
activateMyEvent();
}
}4,测试类public class Test {public static void main(String[] args)
{
MyObject mo=new MyObject();//注册该事件
mo.addMyListener(new MyListener());
//触发该事件
mo.test();
}
}