使用mouseEvent创建行,在其中单击,拖动和释放

时间:2019-03-01 20:51:07

标签: javafx

基本上,我试图在用户首先单击鼠标的位置创建一条线,然后将其拖动,然后在释放时创建一条线。我正在使用画布,因为我被告知这将是我尝试做的最简单的事情,这是到目前为止的事情。不幸的是,这条线只是从左上角开始,并在我单击的任何地方创建一条线。

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

0 个答案:

没有答案