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

时间:2013-07-01 15:50:44

标签: java swing applet mouse-listeners

我创建了以下applet - >

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

1 个答案:

答案 0 :(得分:1)

MouseAdapter实现了更多的接口并包含了比MouseMotionAdapter更多的方法,因此在IDE中使用它可能会更麻烦,并且可能会产生一些轻微的性能影响。

如果您需要MouseListener以及MouseMotionListener,则应使用MouseAdapter。如果您不需要MouseListener方面,则可以使用MouseMotionAdapter。由于您似乎覆盖mouseClickedMouseListener声明了MouseAdapter,因此坚持使用{{1}}。