当前位置: 首页 > 面试题库 >

为什么MouseAdapter是适配器?

贝嘉泽
2023-03-14
问题内容

名称(和javadocs)暗示这MouseAdapter是一个适配器(设计模式)。但我不这么认为-至少一见钟情,它无法使任何事物适应任何事物

发生的唯一变化是,您可以将的实例传递MouseAdapter给需要任何一个接口的任何方法。因此,您可以使用MouseListenerMouseMotionListener预期的实例。但是没有“翻译”发生。而且它不符合GoF的UML-在“类适配器”版本中,期望对一个方法的调用会从适配器中调用一个方法。

那么,这是一个适配器(设计模式),还是仅仅是一个引起混乱的随机名称?


问题答案:

MouseAdapter最早出现在1997年2月发布的Java
1.1中。这意味着它是在1996年(或1995年?)的某个时候开发的。

UML(在其草案中)于1997年完成。

GoF关于设计模式的第一本书于1995年出版。

因此,我认为 Adapter in
MouseAdapter与相应的设计模式无关。或者,即使这样做,开发人员也没有统一的语言来表达设计模式,这将使得很难理解其真实含义。



 类似资料:
  • 我有一个列表,可以在两种布局中进行选择,一种是默认布局,另一种是带有适配器的布局。当用户尚未创建任何时,会首先显示默认的UI布局。用户创建并保存后,布局会切换到布局。布局使用“视图类型”切换,在0和1之间切换。 当我使用这两种方法时,布局之间的切换效果很好: 然后我添加了下面的方法供其他使用,应用程序正在崩溃: 我错过了什么? Logcat: 致命的例外:主java。lang.RuntimeExc

  • 介绍 (Introduction) MouseAdapter类是一个用于接收鼠标事件的抽象(适配器)类。 此类的所有方法都是空的。 此类是用于创建侦听器对象的便捷类。 类声明 以下是java.awt.event.MouseAdapter类的声明: public abstract class MouseAdapter extends Object implements MouseL

  • 介绍 (Introduction) MouseAdapter类是一个用于接收鼠标事件的抽象(适配器)类。 此类的所有方法都是空的。 此类是用于创建侦听器对象的便捷类。 Class 声明 (Class Declaration) 以下是java.awt.event.MouseAdapter类的声明 - public abstract class MouseAdapter extends Obje

  • 我读过PingFederate的文档,上面写着: SP适配器用于为用户创建本地应用程序会话,以便PingFederate提供对您的应用程序或其他受保护资源的SSO访问。为了建立到IdP伙伴的连接,您必须至少配置一个SP适配器实例。您还可以配置多个适配器实例(基于一个或多个适配器),以满足您的IdP合作伙伴的不同需求。 但我不明白为什么IdP连接需要SP适配器?为什么需要它?它真正做什么? 在我的用

  • 我正在尝试开发一个应用程序,在这个应用程序中,用户可以被分配一个特定的角色,并且基于这个角色,他们可以访问特定的功能。这就是我目前的情况: 用户类: 角色类别: 然而,我遇到了一些问题。我的应用程序前端有一些按钮,允许我更改用户角色,下面是一个示例: ERoles存储在一个单独的类中: 然而,通过使用这种方法,我得到了两个错误: 我在整个数据库中似乎不能有三个以上的用户。每次我用另一个用户已经拥有

  • 我想知道是否有人知道s3前缀到底是什么,以及它如何与amazon发布的s3速率限制交互: AmazonS3自动扩展到高请求率。例如,您的应用程序在一个bucket中每个前缀每秒至少可以实现3500个PUT/POST/DELETE和5500个GET请求。bucket中前缀的数量没有限制。 虽然这很清楚,但我不太确定前缀是什么? 前缀需要分隔符吗? 如果我们有一个存储桶,将所有文件存储在“根”级别(完