2010-09-17 72 views
3

如果我註冊addMouseListener一個組件,然後我將它傳遞一個新的MouseAdapter 的運動事件不會產生,因爲我必須使用addMouseMotionListener ...MouseAdapter類的mouseMoved

反之,如果我使用addMouseMotionListenerMouseAdapter我無法使用點擊事件ecc。

所以我真的不明白爲什麼MouseAdapter器具也MouseMotionListenerMouseWheelListener ...

它將只創建混亂!

+0

你需要追蹤哪些鼠標事件?用'addMouseListener'添加一個'MouseAdapter'可以讓你跟蹤任何東西。你能爲MouseAdapter顯示你的代碼嗎? – Qwerky 2010-09-17 08:41:09

+0

我想一起跟蹤點擊和動作事件。 – xdevel2000 2010-09-17 08:47:57

回答

6

因爲這樣你可以準確地做你想做的:監聽運動和點擊同一監聽器類事件:

MouseAdapter adapter = new MouseAdapter ({ 
    // Override here all the methods you need 
}); 

widget.addMouseListener(adapter);  
widget.addMouseMotionListener(adapter); 

這樣你的適配器將被通知兩個運動和點擊事件。

+0

非常好!!!謝謝。 – xdevel2000 2010-09-17 09:09:32