`
tuxq5721
  • 浏览: 33398 次
社区版块
存档分类
最新评论

Swing —— 创建一个自定义Event

阅读更多
创建一个自定义Event

 

创建一个自定义Event

class MyEventextends EventObject {

public MyEvent(Object source) {

super(source);

}

}

 

interface MyEventListenerextends EventListener {

publicvoid myEventOccurred(MyEvent evt);

}

 

class MyClass {

protected EventListenerListlistenerList =new EventListenerList();

 

publicvoid addMyEventListener(MyEventListener listener) {

listenerList.add(MyEventListener.class, listener);

}

 

publicvoid 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);

}

}

}

}

 

publicclass Main {

publicstaticvoid main(String[] argv)throws Exception {

MyClass c = new MyClass();

c.addMyEventListener(new MyEventListener() {

publicvoid myEventOccurred(MyEvent evt) {

System.out.println("fired");

}

});

 

}

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics