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 に対応するリスナー、つまりMouseListenerとの両方でMouseMotionListener、アダプター クラスを使用しMouseAdapterます。クラスがマウスモーションイベントをリッスンするために私の仕事を成し遂げている場合、クラスの用途は何ですか?MouseAdapterMouseMotionAdapter

4

1 に答える 1

1

MouseAdapterは よりも多くのインターフェースを実装し、より多くのメソッドを含んMouseMotionAdapterでいるため、IDE で使用するのがより面倒になり、パフォーマンスに若干の影響を与える可能性があります。

MouseListenerだけでなく も必要な場合はMouseMotionListener、 を使用する必要がありますMouseAdapter。アスペクトが必要ない場合はMouseListener、 を使用できますMouseMotionAdaptermouseClickedで宣言されている をオーバーライドしているように見えるのでMouseListener、 に固執してMouseAdapterください。

于 2013-07-01T16:25:41.723 に答える