2013-10-25 78 views
0

我有一個附帶ActionListener的JButton。點擊按鈕時會執行該操作,但我希望在單擊後(即釋放鼠標按鈕後)執行該操作。我怎樣才能做到這一點?如何使用ActionListener在鼠標釋放/鼠標上執行操作?

+0

A ** **點擊暗示出鼠標按鈕已被釋放。如何在不釋放按鈕的情況下進行「點擊」? – Holger

+0

我認爲點擊可能有點模棱兩可。我的意思是鼠標按鈕被按下但沒有釋放。對不起,我的術語並不是100%符合你的喜好@Holger。 –

+0

您的「術語」不一致。你說你想要執行的動作是「當鼠標按鈕被釋放時」,但現在你說你的意思是那個按鈕「被按下但沒有釋放」。 – Holger

回答

4

你不能用ActionListener來做到這一點。您將不得不添加一個MouseListener並處理mouseReleased事件。

例子:

addMouseListener(new MouseListener() { 
    public void mousePressed(MouseEvent e) { 
    } 

    public void mouseReleased(MouseEvent e) { 
    // TODO: add your code here 
    } 

    public void mouseClicked(MouseEvent e) { 
    } 

    public void mouseEntered(MouseEvent e) { 
    } 

    public void mouseExited(MouseEvent e) { 
    } 
}); 

或者更簡單,具有MouseAdapter

addMouseListener(new MouseAdapter() { 
    public void mouseReleased(MouseEvent e) { 
    // TODO: add your code here 
    } 
}); 
+0

謝謝,這正是我所需要的。 –

+0

不客氣。 –

+1

對我來說不是,更好的是來自ButtonModel的事件 – mKorbel