В последнее время я играю с JavaFX, и я просто понял, как использовать MouseEvent
s, я хотел создать программу, где, когда вы нажимаете, она захватывает ваши X
и Y
и создает круг в этом месте.Локальные переменные, на которые ссылается внутренний класс
Я получаю сообщение об ошибке local variables referenced from an inner class
, когда я пробую это. Я собирался использовать лямбду, но я не мог понять, как это сделать.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
import javafx.scene.shape.Circle;
public class circle extends Application{
Scene scene;
VBox v;
public void start(Stage stage){
double x = 0;
double y = 0;
v = new VBox(10);
scene = new Scene(v, 300, 300);
scene.setOnMousePressed(new EventHandler<MouseEvent>(){
public void handle(MouseEvent e)
{
x = e.getX();
y = e.getY();
}
});
Circle circle = new Circle();
circle.setCenterX(x);
circle.setCenterY(y);
v.getChildren().add(circle);
stage.setScene(scene);
stage.show();
}
}