Создайте несколько кругов на одной сцене, используя JavaFX и метод setOnMouseMoved.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Создайте несколько кругов на одной сцене, используя JavaFX и метод setOnMouseMoved.

Сообщение Anonymous »

Я начал программировать с помощью JavaFX пару дней назад, и это одно из упражнений, которое беспокоило меня последние пять часов или около того.
Я хочу добавить круги в сцену, сначала щелкнув там, где мне нужен центр быть, а затем перемещать курсор, чтобы получить радиус; также я заставляю себя пока не использовать 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();
}
}
Я придумал приведенный выше код для добавления кругов на сцену двойным щелчком мыши, но мне не удалось воспроизвести тот же результат с помощью setOnMouseMoved. Помещение Circle Circle = new Circle() внутри события setOnMouseMoved создает новый круг при каждом движении курсора, что фактически делает невозможным взаимодействие с экраном.

Подробнее здесь: https://stackoverflow.com/questions/792 ... oved-metho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»