2013-07-01 30 views
0

我創建了以下小程序 - >當我們有MouseAdapter類時,MouseMotionAdapter類的用法是什麼?

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類的用法是什麼?

+0

可能是爲了保持命名約定而創建的。你有一個'MouseAdapter'用於'MouseListener',相應的'MouseMotionAdapter'用於'MouseMotionListener'。 –

回答

1

MouseAdapter實現多個接口,且含有多於MouseMotionAdapter更多的方法,因此它可以更笨重的IDE來使用,也許有一些輕微的性能影響。

如果您需要MouseListener以及MouseMotionListener,則應使用MouseAdapter。如果您不需要MouseListener方面,那麼您可以使用MouseMotionAdapter。由於您似乎壓倒mouseClicked,這是MouseListener中聲明,堅持MouseAdapter

相關問題