网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  notifier类实现event/listener更容易     
  文章作者:未知  文章来源:水木森林  
  查看:85次  录入:管理员--2007-11-17  
 
  event/listener模式在java中很常见,并且很有用,但要自己来实现这个模式是一件很费时间并且单调乏味的工作。每次你都不得不和list或vector打交道,每次你都不得不处理add方法、remove方法,然后你还得遍历整个列表来通知所有的监听者,这才算完。

如果能象下面这样简单就好了:

notifier notifier = new notifier("actionperformed");
...
notifier.addlistener( someobject );
...
notifier.notify( new actionevent(this) );
只要几行代码就能够完成一切。

下面的notifier类就达到了这个目的:

package com.generationjava.lang;

import java.util.*;
import java.lang.reflect.*;

public class notifier {

private arraylist listeners = new arraylist();
private string listenermethod;

public notifier(string name) {
this.listenermethod = name;
}

public void addlistener(object not) {
this.listeners.add(not);
}
public void removelistener(object not) {
this.listeners.remove(not);
}

public void notify(eventobject event) {
iterator itr = listeners.iterator();
while(itr.hasnext()) {
try {
object listener = itr.next();
class clss = listener.getclass();
method method = clss.getmethod(
this.listenermethod,
new class[] { event.getclass() }
);
method.invoke( listener, new object[] { event } );
} catch(exception e) {
e.printstacktrace();
}
}
}
}

这个类并没有经过性能上的优化,而且它是不同步的,但在编写一组event/listener api的时候,可以很快掌握它并且节省时间。利用notifier类,你就能执行这样一个常见的任务而不必每次都为之编写代码。




摘自:zdnet   时间:2003年9月10日
 
 
上一篇: netbeans开放源项目通过18个新模块的增添大大扩展功能性    下一篇: ojb简介--翻至ojb docs
  相关文档
浅析java的流 11-17
j2se简介 11-16
新手入门:使用 appfuse 的七个理由 11-17
weblogic8.x安装及连接池配置指南 11-17
如何在java中去掉文本文件中的“” 11-17
苹果为os x 10.5/10.4升级java 增强兼容性 09-27
创建灵活易扩展的j2ee企业应用程序框架(1) 11-16
简要java数据类型转换 11-17
apache服务器配置全攻略 11-17
新手入门:spring的一些学习方法及意见 11-16
jbuilder2005 servlet开发之监听器 11-16
java设计模式之 proxy(代理) 11-17
struts 2.x 11-17
java开发工具eclipse使用中报错的详细分析 04-03
jbuilder2005单元测试之捆绑多个用例 11-16
静态成员 11-17
return 语句 11-16
struts开发指南之其他web构架介绍 11-17
java中new derivedclass()时背后发生的事情 11-17
struts中文帮助 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息