2010-02-21 54 views

回答

7
MouseInputAdapter mia = new MouseInputAdapter() { 
    @Override 
    public void mouseDragged(MouseEvent e) { ... } 
    @Override 
    public void mousePressed(MouseEvent e) { ... } 
}; 
addMouseListener(mia); 
addMouseMotionListener(mia); // <-- You're missing this one. 
4

,因爲要實現mouseDraggedaddMouseListener裏面它是無法識別。

mouseDraggedMouseMotionListener觸發,mousePressedMouseListener觸發。

因此,您需要實現MouseListenerMouseMotionListener並相應地添加正確的偵聽器。

public class MyClass extends JPanel implements MouseListener, 
               MouseMotionListener { 

    public MyClass() { 
    // whatever code you need, then add the listeners 
    this.addMouseListener(this); 
    this.addMouseMotionListener(this); 
    } 

    public void mousePressed(MouseEvent e) { ... } 
    public void mouseDragged(MouseEvent e) { ... } 

} 
0

不使用addMouseListener將,但addMouseMotionListener:

addMouseMotionListener(new MouseMotionListener() { 

     @Override 
     public void mouseMoved(MouseEvent e) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void mouseDragged(MouseEvent e) { 
      // TODO Auto-generated method stub 

     } 
    }); 

:d

+0

這是我來到這裏之前,詢問,但它不工作,由安東尼提到的原因,我試過Forloney。 – kovike 2010-02-21 19:44:06