如何为 JavaFX 编写 MouseListener

How to write a MouseListener for JavaFX

我想写一个小游戏,在这个游戏中,我使用鼠标位置在 JavaFX 面板上从一个对象向特定方向移动。

我想在鼠标所在的方向转动一条线。

Line line = new Line(startPosX, startPosY, mouseDirectionX, mouseDirectionY);

我该怎么做?

像这样添加 MOUSE_MOVED 事件过滤器:

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {

        try {

            Pane root = new Pane();

            Line line = new Line( 400,200,400,200);

            root.addEventFilter(MouseEvent.MOUSE_MOVED, e -> {

                line.setEndX(e.getSceneX());
                line.setEndY(e.getSceneY());

            });

            root.getChildren().add(line);

            Scene scene = new Scene(root, 800, 400);
            primaryStage.setScene(scene);
            primaryStage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

如果你想限制线的长度,你当然必须通过角度进行适当的计算。