网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  adapter在j2se事件处理中的应用     
  文章作者:未知  文章来源:水木森林  
  查看:56次  录入:管理员--2007-11-17  
 
  1.adapter模式理论

  adapter模式又称变压器模式,关于该模式的基本概念请参考其他书籍或资料;这里我们只粗略讨论该模式两大实现方法的区别:基于类的adapter模式和基于对象的adapter模式。

  基于类的adapter模式的一般结构如下:adaptee类为adapter的父类,adaptee类为适配源,适配目标(接口)也是adapter的父类;基于类的adapter模式比较适合应用于adapter想修改adaptee的部分方法的情况。基于对象的adapter模式的一般结构如下:adaptee类对象为adapter所依赖,适配目标(接口)是adapter的父类;基于对象的adapter模式比较适合应用于adapter想为adaptee添加新的方法的情况。但在adaptee类的方法与adapter类的方法不同名而实现相同功能的情况下,我们一般也使用基于对象的adapter模式,在j2se事件处理中,我们就大量使用了基于对象的adapter模式。

  2.j2se中的事件处理

  j2se中的事件处理代码示例如下:

public class webformdesigner extends jframe {
 void jbinit() throws exception {
  text.addactionlistener(new webformdesigner_text_actionadapter(this));
 }

 void text_actionperformed(actionevent e) {
  textdialog createtext = new textdialog();
  createtext.setvisible(true);
  createtext.settitle("text");
  createtext.setbounds(100, 100, 500, 300);
  createtext.setmodal(true);
  createtext.show();
 }
}

class webformdesigner_text_actionadapter implements java.awt.event.actionlistener {
 webformdesigner adaptee;
 webformdesigner_text_actionadapter(webformdesigner adaptee) {
  this.adaptee = adaptee;
 }

public void actionperformed(actionevent e) {
 adaptee.text_actionperformed(e);
}

}

  在实际编程时,text_actionperformed方法由程序员自己实现(弹出新的对话框),而webformdesigner_text_actionadapter类是由开发环境依据基于对象的adapter模式自动生成的。

  3.adapter模式与代码分析

  由上面的分析可见,webformdesigner在本例中是adaptee, webformdesigner_text_actionadapter在本例中是adapter, java.awt.event.actionlistener在本例中是适配目标。

  适配目标为一接口,代码如下:

public interface actionlistener extends eventlistener {

/**
* invoked when an action occurs.
*/
public void actionperformed(actionevent e);
}

  适配目标中只有一个方法:actionperformed()。由于webformdesigner_text_actionadapter 实现了java.awt.event.actionlistener,所以要求实现actionperformed()方法。

  webformdesigner_text_actionadapter实现actionperformed()方法是引用了webformdesigner这个adaptee而完成的。从代码中可以看出,webformdesigner是webformdesigner_text_actionadapter的方法的参数,所以webformdesigner_text_actionadapter依赖webformdesigner。

  adaptee类(webformdesigner)的方法(text_actionperformed)与adapter类(webformdesigner_text_actionadapte)的方法(actionperformed)不同名而实现相同功能,这就是我们上面分析的基于对象的adapter模式。
 
 
上一篇: 利用jbuilder2005开发web应用程序(1)    下一篇: java编程:关于对vector的一点理解
  相关文档
struts标记库 11-17
使用jdom操作xml系列文章二 从数据库中读取记录集到平面式xml文 11-17
再谈通过 java 执行 post 操作 11-17
jsp/servlet:java中调用oracle存储过程 12-25
resin的配置文件一览 11-17
在java中使用反射分析类结构 11-17
java基础知识:简单hibernate入门 11-17
.net跨平台的第一步 11-17
java多语言编码问题解析(1) 11-17
错误的堆大小产生的 11-17
java入门文章--安装 11-17
小议如何在applet中显示图象 11-17
tomcat下的jsp和servlet的字符编码问题 11-17
图象淡出效果 11-17
servlet2.3 api小介 11-17
getvardate 方法 11-16
java程序编码规范!不仅仅是规范,还有为什么这样做的理由,不错哦! 11-17
简析java的xml编程(to:初学者们) 11-17
java语言入门级的十二大特色详细介绍 11-16
体验j2se 1.5新特性之装箱和拆箱 11-16
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息