2012-06-17 26 views
2

我有一個MouseMotionListener,並在mouseDragged方法我有一個布爾值,變成true。問題是我不知道如何在拖動結束後讓它回到錯誤狀態。有沒有辦法做到這一點? 任何幫助表示讚賞。如何讓MouseMotionListener檢測拖動的結束?

+0

這是拖放的目的是什麼? –

回答

3

對於SWT:您可以使用方法public void mouseUp(MouseEvent arg0)添加MouseListener並將布爾值設置爲false。在這裏看到:MouseListener Example

或者,如果你使用Swing,這是有益的(有public void mouseReleased(MouseEvent e)): MouseListener

+0

事情是,雖然我不釋放鼠標,只是「暫停」拖動,如拖動,停止拖動,然後按住按鈕繼續所有操作。現在發生的事情是,窗口將保持動力,直到我釋放鼠標。我正在尋找是否有辦法阻止拖動而不放開鼠標。 –

+0

我猜你在用swing? – Baz

+0

您可以使用計時器在拖動過程中每隔ms左右檢查一次鼠標位置,如果兩次檢查的鼠標位置相同,則假定鼠標移動結束並設置布爾值。這裏是swing的定時器的參考:[link](http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html)。 – Baz