public class EffectTest extends Application { Path path; @Override public void start(Stage primaryStage) { Group root = new Group(); Scene scene = new Scene(root, 300, 250); path = new Path(); path.setStrokeWidth(1); path.setStroke(Color.BLACK); scene.setOnMouseClicked(mouseHandler); scene.setOnMouseDragged(mouseHandler); scene.setOnMouseEntered(mouseHandler); scene.setOnMouseExited(mouseHandler); scene.setOnMouseMoved(mouseHandler); scene.setOnMousePressed(mouseHandler); scene.setOnMouseReleased(mouseHandler); root.getChildren().add(path); primaryStage.setScene(scene); primaryStage.show(); } EventHandler<MouseEvent> mouseHandler = new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent mouseEvent) { if (mouseEvent.getEventType() == MouseEvent.MOUSE_PRESSED) { // path.getElements().clear(); path.getElements() .add(new MoveTo(mouseEvent.getX(), mouseEvent.getY())); } else if (mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED) { path.getElements() .add(new LineTo(mouseEvent.getX(), mouseEvent.getY())); }else if (mouseEvent.isAltDown()||mouseEvent.isSecondaryButtonDown()||mouseEvent.isMiddleButtonDown()) { path.getElements().clear(); //path.getElements().add(new LineTo(mouseEvent.getX(), mouseEvent.getY())); } } }; } //