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