package events; import com.sun.glass.ui.Robot; import javafx.application.Application; import javafx.beans.property.ReadOnlyObjectProperty; import javafx.event.EventHandler; import javafx.geometry.Bounds; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.input.MouseEvent; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class ImitateDrag extends Application { public static void main(String[] args) { launch(args); } @Override public void start(final Stage stage) { final Rectangle rect = new Rectangle(0, 0, 100, 100); rect.addEventHandler(MouseEvent.ANY, new EventHandler() { @Override public void handle(MouseEvent me) { System.out.println("# " + me); } }); final Scene scene; stage.setScene(scene = new Scene(new Group(rect))); stage.show(); new Thread() { @Override public void run() { Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot(); int x = (int) (stage.getX() + scene.getX()); int y = (int) (stage.getY() + scene.getY()); robot.mouseMove(x + 10, y + 10); robot.mousePress(1); for (int i = 10; i < 50; i += 5) { try { Thread.sleep(20); robot.mouseMove(x + i, y + i); } catch (InterruptedException ex) { } } } }.start(); } }