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);
    }
}
