我创建了以下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相对应的两个侦听器,即MouseListener
和MouseMotionListener
,我使用适配器类MouseAdapter
。 如果,MouseAdapter
课程正在完成我的工作,也可以使用该课程MouseMotionAdapter
答案 0 :(得分:1)
MouseAdapter
实现了更多的接口并包含了比MouseMotionAdapter
更多的方法,因此在IDE中使用它可能会更麻烦,并且可能会产生一些轻微的性能影响。
如果您需要MouseListener
以及MouseMotionListener
,则应使用MouseAdapter
。如果您不需要MouseListener
方面,则可以使用MouseMotionAdapter
。由于您似乎覆盖mouseClicked
,MouseListener
声明了MouseAdapter
,因此坚持使用{{1}}。