首页 > 解决方案 > JavaFX用鼠标画线

问题描述

我正在尝试绘制一条线,起点是按下鼠标时的起点,并且在拖动鼠标时它会继续绘制线,直到释放鼠标。我正在尝试制作类似 MS Paint 的东西。

尽管代码从程序的中心开始并在两个方向上画线,但它的作用是什么。

public void start(Stage primaryStage) {
    BorderPane root = new BorderPane();

    Line l1 = new Line();
    root.addEventHandler(MouseEvent.ANY, event ->{
        if(event.getEventType() == MouseEvent.MOUSE_PRESSED) {
            firstX = event.getX();
            firstY = event.getY();

            l1.setStartX(firstX);
            l1.setStartY(firstY);

        } if (event.getEventType() == MouseEvent.MOUSE_DRAGGED) {
            double deltaX = event.getX();
            double deltaY = event.getY();

            l1.setEndX(deltaX);
            l1.setEndY(deltaY);
        } if (event.getEventType() == MouseEvent.MOUSE_RELEASED) {
            endX = event.getX();
            endY = event.getY();

            l1.setEndX(endX);
            l1.setEndY(endY);
        }
    });

    root.setCenter(l1);

    Scene scene = new Scene(root, 300, 300);
    primaryStage.setTitle("Hello World!");
    primaryStage.setScene(scene);
    primaryStage.show();
}

标签: javajavafx

解决方案


推荐阅读