我想把方块放到应用程序窗口。我正在使用gridpane和ı需要放置16平方4x4阵列。使用gridpaneı可以创建3行4列数组,但是不能将方块放到底行。这是我的代码和结果:
public void start(Stage primaryStage) throws Exception {
GridPane grid = new GridPane();
Scene scene = new Scene(grid, 400, 400);
Image image = new Image("Pipe_Vertical.jpg");
Image image2 = new Image("Empty.jpg");
ImageView imageView = new ImageView(image2);
imageView.setFitHeight(100);
imageView.setFitWidth(100);
ImageView imageView2 = new ImageView(image2);
imageView2.setFitHeight(100);
imageView2.setFitWidth(100);
ImageView imageView3 = new ImageView(image2);
imageView3.setFitHeight(100);
imageView3.setFitWidth(100);
ImageView imageView4 = new ImageView(image2);
imageView4.setFitHeight(100);
imageView4.setFitWidth(100);
ImageView imageView5 = new ImageView(image2);
imageView5.setFitHeight(100);
imageView5.setFitWidth(100);
ImageView imageView6 = new ImageView(image2);
imageView6.setFitHeight(100);
imageView6.setFitWidth(100);
grid.add(imageView3, 0, 0);
grid.add(imageView4, 1, 0);
grid.add(imageView2, 2, 0);
grid.add(imageView, 3, 0);
grid.add(imageView5, 0, 1);
grid.add(imageView6, 3, 3);
primaryStage.setTitle("Test");
primaryStage.setScene(scene);
primaryStage.show();
这就是它运行时的样子:Test Results :
grid.add(imageView6, 3, 3);
代码的这一部分应该将方块放在右下方,但它出现在错误的地方。
问题解决了。需要使用
for (int i = 0; i < 4; i++) {
RowConstraints row = new RowConstraints(100);
grid.getRowConstraints().add(row);
}
它创建了4行,像素高度为100。