void (ActionEvent e) { Component component = myLatestDragEvent.getComponent(); Point componentOnScreen = component.getLocationOnScreen(); int xScreen = myLatestDragEvent.getXOnScreen(); int yScreen = myLatestDragEvent.getYOnScreen(); int x = xScreen - componentOnScreen.x; int y = yScreen - componentOnScreen.y; SyntheticDragEvent dragEvent = new SyntheticDragEvent(component, myLatestDragEvent.getID(), e.getWhen(), myLatestDragEvent.getModifiers(), x, y, xScreen, yScreen, myLatestDragEvent.getClickCount(), myLatestDragEvent.isPopupTrigger(), myLatestDragEvent.getButton()); for (MouseMotionListener l : component.getMouseMotionListeners()) { l.mouseDragged(dragEvent); } }