@Override public void mouseDragged(MouseEvent e){
synchronized (mouseLock) {
    mouseX=userX(e.getX());
    mouseY=userY(e.getY());
  }
  for (  DrawListener listener : listeners)   listener.mouseDragged(userX(e.getX()),userY(e.getY()));
}

@ Override public void mouseDragged ( MouseEvent e ) { synchronized ( mouseLock ) { mouseX = userX ( e . getX ( ) ) ; mouseY = userY ( e . getY ( ) ) ; } for ( DrawListener listener : listeners ) listener . mouseDragged ( userX ( e . getX ( ) ) , userY ( e . getY ( ) ) ) ; }
this method cannot be called directly .
