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模式。
?
hongbo781202,又名HongSoft,职业程序员,研究领域:1)基于工作流的BPM系统研究2)基于JAVA的信息安全
技术.欢迎和大家讨论JAVA相关各方面技术和市场问题 hongbosoftware@163.com
?<!----><o:p></o:p>
分享到:
相关推荐
根据提供的文件信息,本文将详细解析“J2SE中表格应用”的相关知识点,重点在于如何在Java Swing中使用`JTable`组件,并结合代码示例进行深入分析。 ### J2SE与Swing简介 Java 2 Standard Edition (J2SE) 是Java...
3. **NIO(非阻塞I/O)**:Java NIO提供了一种新的I/O模型,相较于传统的IO,NIO支持多路复用,能有效提高程序在处理多个连接时的性能,尤其适用于网络编程和服务器应用。 4. **Swing与AWT**:这两个是Java GUI的...
J2SE 中的异常处理是另一个重要知识点。通过使用 try-catch-finally 语句块,开发者可以捕获并处理程序运行时可能出现的错误,保证程序的健壮性。异常处理不仅能够帮助识别和修复问题,还能避免程序因未预见的错误而...
Java 2 Standard Edition (J2SE) 是 Java 平台的核心部分,主要为桌面应用程序提供运行环境。这个压缩包 "j2se中文api.rar" 内含的是 J2SE 的中文版 API 文档,这对于 Java 开发者来说是一个非常重要的参考资料。API...
Java 2 Platform, Standard Edition (J2SE) 是 Java 技术的核心部分,它提供了用于开发和部署桌面应用、服务器端应用以及嵌入式系统的工具和API。J2SE 6.0 版本是其历史上的一个重要里程碑,带来了许多性能优化、新...
4. **独立完成项目**:每位学生需独立完成一个数字图像处理相关的J2SE应用项目,确保项目的原创性。 5. **实验内容自选**:鼓励学生选择具有一定挑战性的实验内容,也可以将之前实验的内容整合进当前的框架中。 6. *...
虽然J2SE 1.5主要引入的是NIO(New I/O)的初步版本,但NIO.2在后续的Java版本中得到了进一步发展,提供了异步I/O、文件系统路径抽象、文件属性和监控等功能。 以上就是J2SE 1.5中文API中涵盖的关键知识点,它们...
Java 2 Platform, Standard Edition(简称J2SE)是Java平台的核心部分,它为开发桌面...这个J2SE课件不仅涵盖了全面的Java技术,也强调了设计模式在实际开发中的应用,对于提升编程能力和解决实际问题有着极大的帮助。
j2se1.6官方中文API 官方网站下载,一共三部分
在J2SE API中文版中,你可以找到以下关键知识点: 1. **类库概述**:J2SE包含了一系列核心类库,如`java.lang`、`java.util`、`java.io`、`java.net`等。`java.lang`是最基础的包,包含了所有Java程序都会用到的...
J2SE(Java Platform, Standard Edition)6.0是Oracle公司发布的一个重要版本,它在Java SE 5.0的基础上进行了许多改进和新功能的添加,对于Java开发者来说具有重要意义。 文档是学习和理解任何编程平台或语言的...
此外,它还暗示尽管J2SE 6.0可能已经不再是最新的版本,但在某些特定场合,它仍然有其应用价值。最后,"送给分少的你"可能是在论坛或社区中,分享者对需要帮助的新手或者积分不足的用户的善意支持。 **标签解析** ...
在Java编程中,J2SE是基础,它包含了核心类库,如集合框架、I/O流、网络编程、多线程、GUI(图形用户界面)组件、异常处理、反射机制等。这些API为开发者提供了构建复杂应用程序所需的各种工具和功能。 1. 集合框架...
**J2SE(Java 2 Platform, Standard Edition)是Java平台的标准版,是Java开发工具和技术的基础,主要用于...J2SE中文帮助文档提供的详细解释和示例将极大地帮助你在实践中运用这些知识,成为一位熟练的Java开发者。**
9. **安全性**:Java 以其“写一次,到处运行”的特性著称,文档中会介绍如何在 Java 应用中实现安全控制,包括权限模型、沙箱机制和数字签名。 10. **教程与示例**:除了 API 参考,J2SE 文档通常还会包含教程和...
Java 2 Platform, Standard Edition (J2SE) 6.0是Java开发平台的一个重要版本,主要用于桌面应用的开发。这个版本的API(应用程序接口)是开发者进行Java编程的基础工具集合,提供了大量的类库和接口,使得开发者...
图书管理系统是IT行业中常见的应用,尤其在教育和公共服务领域。本系统基于Java J2SE(Java标准版)技术栈,并采用MySQL数据库,结合MCV(Model-Controller-View)模式进行设计。以下将详细阐述这些关键知识点。 1....
在"J2SE基础源代码"这个主题中,我们可以深入探讨以下几个关键知识点: 1. **Java语法**:Java是一种面向对象的编程语言,它的语法结构严谨,包括类、对象、继承、封装、多态等核心概念。源代码中可能会包含这些...
总的来说,J2SE中文帮助文档是Java开发者不可或缺的工具,它能够帮助开发者深入理解和熟练运用Java API,提升开发技能,解决实际问题。无论你是初学者还是经验丰富的开发者,都应该充分利用这份资源,以便更好地驾驭...