java 取消监听事件_Java监听事件的发生

在网上找了好一会怎么监听一个事件的发生,找了好一会才找到符合我要求的信息,整体下分享下:

监听事件可以分为三个过程

1、事件:扩展EventObject

import java.util.EventObject;

public class receivedEvent extends EventObject {

public receivedEvent(Object source) {

this(source,0);

}

public receivedEvent(Object source, int newValue) {

super(source);

}

}

2、观察:扩展EventListener

import java.util.EventListener;

public interface receivedListener extends EventListener {

public abstract void performed(receivedEvent e);

}

3、侦听

public class Handle extends IoHandlerAdapter {

static public Vector aListeners = new Vector();

@Override

public void messageReceived(IoSession session, Object message)

throws Exception {

// 当MessageCode为ESB信息更新时才发生

if (Integer.parseInt(message.toString()) == SkymobiMessageCode.MSGCODE_MGMT_UPDATE_ESBINFO_NFY) {

receivedEvent evt = new receivedEvent(this);

// 如果值改变的话,就触发事件

fireAEvent(evt);

}

}

public void fireAEvent(receivedEvent evt) {

Vector currentListeners = null;

synchronized (this) {

currentListeners = (Vector) aListeners.clone();

}

System.out.println(currentListeners.size());

for (int i = 0; i < currentListeners.size(); i++) {

receivedListener listener = (receivedListener) currentListeners

.elementAt(i);

listener.performed(evt);

}

}

}

4、程序运行处加入

Handle.addAListener(new receivedListener() {

public void performed(receivedEvent e) {

System.out.println("此处添加ESB更新后的相应函数");

}

});

这应当MessageReceived事情发生时,且满足要求时,事情就发生了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值