java - 当我们有 MouseAdapter 类时,MouseMotionAdapter 类有什么用?

标签 java swing applet mouse-listeners

我创建了以下小程序-->

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Adapting extends Applet
{
public void init()
{
addMouseListener(new MyMouseAdapter(this));
addMouseMotionListener(new MyMouseAdapter(this));
}
}//end of class

class MyMouseAdapter extends MouseAdapter
{
Adapting a;
public MyMouseAdapter(Adapting a)
{
this.a=a;
}

public void mouseClicked(MouseEvent me)
{
a.setBackground(Color.red);
}

public void mouseMoved(MouseEvent me)
{
a.showStatus("Moving Mouse at "+me.getX()+","+me.getY());
}
}
/*<applet code=Adapting height=500 width=600></applet>*/

对于与 MouseEvent 对应的两个监听器,即 MouseListenerMouseMotionListener,我使用适配器类 MouseAdapter如果 MouseAdapter 类也完成了我监听鼠标运动事件的工作,那么 MouseMotionAdapter 类有什么用?

最佳答案

MouseAdapterMouseMotionAdapter 实现了更多接口(interface)并包含更多方法,因此在 IDE 中使用它可能会更麻烦,并且可能会产生一些较小的性能影响。

如果您需要 MouseListener 以及 MouseMotionListener,则应使用 MouseAdapter。如果您不需要 MouseListener 方面,那么您可以使用 MouseMotionAdapter。由于您似乎覆盖了在 MouseListener 中声明的 mouseClicked,因此请坚持使用 MouseAdapter

关于java - 当我们有 MouseAdapter 类时,MouseMotionAdapter 类有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408601/

相关文章:

java - Keytool.exe 和 jarsigner.exe 问题

java - 当我尝试在 jsp 上运行小程序时出现 AccessControlException

java - Windows L&F 中的 JTabbedPane 具有不可移除的边框

Java JFrame画图

java - 如果插件由 JAR 创建,则不会调用激活器

java - 如何从命令行调用 jar 中的公共(public)静态 String 方法?

java - JSlider 未添加到 JLabel

Java 小程序尝试获取超出存档列表的内容

java - 如何使用 Java 代码设置 TextView 的位置?

java - 如何将自定义唯一编号分配给 GAE 中的实体?