2013-11-15 80 views
1

我試圖讓鼠標的位置,同時按下鼠標按鈕,但它不工作。 我延伸的MouseAdapter及於的Javadoc陳述的mouseMove()被調用時鼠標光標已被移動到組件上但沒有按鈕被按壓。捕捉鼠標運動,同時按下鼠標懸停在Java中

這是我創建了給你看我的問題的例子類:

public class TestMouse extends MouseAdapter{ 

    int x,y; 
    boolean pressed; 

    public void mousePressed(MouseEvent e){ 
     pressed = true; 
    } 

    public void mouseReleased(MouseEvent e){ 
     pressed = false; 
    } 

    /* 
    Invoked when the mouse is not pressed only. 
    */ 
    public void mouseMoved(MouseEvent e){ 
     x = e.getX(); 
     y = e.getY(); 
    } 


    /* 
    I want something like that. 
    */ 
    public void mousePressedAndMoved(MouseEvent e){ 
     .... 
    } 

} 
+0

您是否嘗試過的mouseDragged()? – arcy

回答

3

這與MouseAdapter的問題,因爲它是一個abstract class,而不是interfaceMouseMotionListener是你需要的),它給所有可能事件的空白實現只是爲了避免您被迫重寫所有可能的事件,這也意味着如果您沒有閱讀文檔,則可能會錯過其中的一些事件。

如果您在documentation仔細看,雖然,你會看到,你有

public void mouseDragged(MouseEvent e) 

,您可以覆蓋確切地聽你所需要的。

+0

我明白,但你能給我一個代碼示例嗎? – user2928332

+0

你還需要什麼?你已經重載'mouseMoved',這是相同的,只是在不同的情況下調用。 – Jack