import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.stage.Stage; import javafx.scene.input.MouseEvent; public class MouseTest extends Application { private double x = 50, y = 20; private Canvas canvas; public void start(Stage stage) { stage.setTitle("Hello"); canvas = new Canvas(150, 150); GraphicsContext gc = canvas.getGraphicsContext2D(); paint(gc); canvas.setOnMouseClicked(e -> mouseClicked(e)); Group root = new Group(); root.getChildren().addAll(canvas); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } private void paint(GraphicsContext gc) { gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight()); gc.fillText("HELLO WORLD!", x, y); } private void mouseClicked(MouseEvent e) { x = e.getX(); y = e.getY(); paint(canvas.getGraphicsContext2D()); return; } public static void main(String... args) { launch(args); } }