我目前正在尝试制作8x8电路板,似乎无法弄清楚为什么我的矩形对象没有显示。我试图找出一行背后的逻辑,然后我多次执行它以获得整个电路板。以下是我目前的代码:
import javafx.application.*;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.layout.TilePane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class Board extends Application {
public static void main(String[] args) {
launch();
}
public void start(Stage ps) {
TilePane tp = new TilePane();
Pane p = new Pane();
for (int column = 0; column > 8; column++) {
// This loop is used to determine the center of the rectangle
for (int x = 10; x < 160; x += 20) {
Rectangle r = new Rectangle();
r.setWidth(20);
r.setHeight(20);
r.setX(x);
r.setY(10);
if (column == 0 || column % 2 == 0) {
r.setFill(Color.BLACK);
}
else {
r.setFill(Color.GREY);
}
tp.getChildren().add(r);
}
}
p.getChildren().add(tp);
Scene s = new Scene(p, 160, 160);
ps.setScene(s);
ps.setTitle("PP2 Halma Project");
ps.show();
}
}
答案 0 :(得分:1)
for (int column = 0; column > 8; column++)
- 这绝不会发生,因为0永远不会超过8。r.setX(x)
- 我认为你不需要这个。您应该让TilePane
为您布置矩形;你只需要为它定义一个大小。Pane p = new Pane()
- 我个人认为这是多余的。没有它只使用TilePane
就可以了。但是,这不会导致您的程序出错。