0

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

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

4

1 回答 1

1

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

如果你需要 aMouseListener和 a MouseMotionListener,你应该使用 a MouseAdapter。如果您不需要MouseListener方面,那么您可以使用MouseMotionAdapter. 由于您似乎mouseClicked是在中声明的压倒一切,因此请MouseListener坚持使用MouseAdapter.

于 2013-07-01T16:25:41.723 回答