网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 编程文档 > JSP > 正文

Adapter在J2SE事件处理中的应用

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

  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模式。

(责任编辑:admin)

  • 下一篇资讯: J2SE1.5新特性简介
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师