Создание линии с помощью mouseEvent, где вы нажимаете, перетаскиваете и отпускаете - PullRequest
0 голосов
/ 01 марта 2019

По сути, я пытаюсь создать линию, в которой она принимает место, где пользователь сначала щелкает мышью, затем перетаскивает ее, и когда они освобождают, должна быть создана линия.Я использую canvas, как мне сообщили, это будет самым легким для того, что я пытаюсь сделать, вот то, что у меня есть до сих пор.К сожалению, строка начинается с верхнего левого края и создает строку везде, где я нажимаю.

        Line currentLine = new Line();

        if(event.getEventType() == MouseEvent.MOUSE_PRESSED) {
            double firstX = event.getX();
            double firstY = event.getY();

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

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

            currentLine.setEndX(deltaX);
            currentLine.setEndY(deltaY);

        } if (event.getEventType() == MouseEvent.MOUSE_RELEASED) {
            double endX = event.getX();
            double endY = event.getY();

            currentLine.setEndX(endX);
            currentLine.setEndY(endY);

        }
        canvas.getChildren().add(currentLine);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...