Я хочу добавить круги в сцену, сначала щелкнув там, где мне нужен центр быть, а затем перемещать курсор, чтобы получить радиус; также я заставляю себя пока не использовать Canvas.
Приведенный ниже код был немного изменен по сравнению с доступным здесь:
Draw круг с точками щелчка мыши (JavaFX)
чтобы каждый нарисованный круг оставался на экране.
Код: Выделить всё
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class TestJavaFX extends Application {
private double cX, cY;
public boolean firstClick = true;
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Scene scene = new Scene(root, 960, 540);
scene.setOnMouseClicked(evt -> {
if (firstClick) {
cX = evt.getX();
cY = evt.getY();
firstClick = false;
} else {
double r = Math.sqrt(Math.pow(cX - evt.getX(), 2) + Math.pow(cY - evt.getY(), 2));
Circle circle = new Circle(cX, cY, r, Color.BLUE);
root.getChildren().add(circle);
firstClick = true;
}
});
primaryStage.setTitle("TestJavaFX");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... oved-metho
Мобильная версия