如何使用JavaFX在随机位置绘制10000个圆?

如何使用JavaFX在随机位置绘制10000个圆?,java,javafx,javafx-8,Java,Javafx,Javafx 8,我试图在JavaFX中画10000个圆,但它似乎不起作用,我甚至不能画一个圆。实际上,它给我带来了一个错误: 这是我目前拥有的代码: public class RandomCircles extends Application { private Random randomNumbers; private int count; private final double MAX_X = 600; private final double MAX_Y = 300;

我试图在JavaFX中画10000个圆,但它似乎不起作用,我甚至不能画一个圆。实际上,它给我带来了一个错误:

这是我目前拥有的代码:

public class RandomCircles extends Application {

    private Random randomNumbers;
    private int count;
    private final double MAX_X = 600;
    private final double MAX_Y = 300;
    private final int FINAL_CIRCLES = 10000;

    public void start(Stage primaryStage){

        Circle initCircle = new Circle();
        initCircle.setStroke(Color.BLACK);
        initCircle.setStrokeWidth(3);
        initCircle.setRadius(1);

        for(count = 0; count <= FINAL_CIRCLES; count++){
            initCircle.setCenterX(randomNumbers.nextInt((int) MAX_X));
            initCircle.setCenterY(randomNumbers.nextInt((int) MAX_Y));
        }

        Group baseDemo = new Group(initCircle);

        // Scene scene = new Scene(baseDemo, MAX_X, MAX_Y);
        Scene scene = new Scene(baseDemo);
        scene.setFill(Color.WHITE);
        scene.getWidth();

        primaryStage.setTitle("10,000");
        primaryStage.setScene(scene);
        primaryStage.setResizable(true);
        primaryStage.show();
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        launch(args);
    }
}
public类扩展应用程序{
私有随机数;
私人整数计数;
私人最终双倍最大值X=600;
私人最终双倍最大值Y=300;
私人最终int final_圆圈=10000;
公共无效开始(阶段primaryStage){
圆圈初始化圆圈=新圆圈();
初始循环设定行程(颜色为黑色);
初始圆设置行程宽度(3);
初始圆设置半径(1);
对于(计数=0;计数更改此行:

私有随机数;

为此:

private Random Random numbers=new Random();


您的代码假设随机对象将像其他成员变量一样分配,但它是一个对象,必须使用新的创建。

在修复您得到的运行时错误后,您的代码只绘制一个圆。这是因为您只向场景图中添加一个圆。for
循环基本上没有任何作用圆心的最后X和Y坐标用于绘制一个单独的圆。您需要添加一万个圆

在下面的代码中,我将10_000更改为100(100),因为10_000在您设置的舞台尺寸中有太多重叠圆。我还增加了每个圆的半径

import java.util.Random;
导入javafx.application.application;
导入javafx.scene.Group;
导入javafx.scene.scene;
导入javafx.scene.paint.Color;
导入javafx.scene.shape.Circle;
导入javafx.stage.stage;
公共类扩展了应用程序{
私有随机数=新随机数();
私人整数计数;
私人最终双倍最大值X=600;
私人最终双倍最大值Y=300;
私人最终int final_圆圈=100;
公共无效开始(阶段primaryStage){
Group baseDemo=新组();

对于(count=0;count将错误文本粘贴到您的帖子中比图像链接更有用。谢谢!Variable
randomNumbers
未初始化。是的,这就是代码,我刚刚更改了类名。错误来自我尝试随机定位新圆圈的位置。请解释为什么您发布了st的图像确认跟踪和实际代码为文本。可能重复是的,我可以这么说,您所说的错误来自圆圈内部,我试图随机定位“生成的”(如果确实有)圆圈