Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaFX制作方形被子_Java_User Interface_For Loop_Javafx_Nested - Fatal编程技术网

使用JavaFX制作方形被子

使用JavaFX制作方形被子,java,user-interface,for-loop,javafx,nested,Java,User Interface,For Loop,Javafx,Nested,我一直在尝试使用JavaFX和嵌套for循环构建一个coult。我一直在尝试以下代码: for(int i=0;i<=5;i++) { square=new Rectangle(50,50); square.setFill(squareColor); square.setX(x); root.getChildren().add(square); x=x+100;

我一直在尝试使用JavaFX和嵌套for循环构建一个coult。我一直在尝试以下代码:

for(int i=0;i<=5;i++)
    {
        square=new Rectangle(50,50);
        square.setFill(squareColor);           
        square.setX(x);

        root.getChildren().add(square);
        x=x+100;

        for(int j=0;j<=5;j++)
        {
            square=new Rectangle(50,50);
            square.setFill(squareColor);
            square.setY(y);               
            y=y+100;                               
            root.getChildren().add(square);


        }
我不明白…我总是需要在每个循环中声明一个新的矩形对象。有没有可能在这两个for循环中都使用称为square的相同矩形。

为什么不这样做

for (int x = 0 ; x <= 500 ; x+= 100) {
    for (int y = 0 ; y <= 500 ; y+= 100) {
        Rectangle square = new Rectangle(x, y, 50, 50);
        root.getChildren().add(square);
    }
}
SSCCE:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class Quilt extends Application {

    @Override
    public void start(Stage primaryStage) {
        Pane root = new Pane();
        Paint squareColor = Color.AQUAMARINE ;

        for (int x = 0 ; x <= 500 ; x+=100) {
            for (int y = 0 ; y <= 500 ; y+=100) {
                Rectangle square = new Rectangle(x, y, 50, 50);
                square.setFill(squareColor);
                root.getChildren().add(square);
            }
        }

        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

不清楚为什么要在外循环中创建矩形。