JavaFX рисовать линии с помощью мыши - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь нарисовать линию, где начальная точка находится, когда мышь нажата, и во время ее перетаскивания она продолжает рисовать линию, пока мышь не будет отпущена.Я пытаюсь сделать что-то вроде 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...