使用JavaFX制作方形被子
我一直在尝试使用JavaFX和嵌套for循环构建一个coult。我一直在尝试以下代码:使用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;
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);
}
}
不清楚为什么要在外循环中创建矩形。