我无法使用gridpane将我的图像正确地放到窗口中

问题描述 投票:0回答:1

我想把方块放到应用程序窗口。我正在使用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);

代码的这一部分应该将方块放在右下方,但它出现在错误的地方。

java arrays javafx gridpane
1个回答
0
投票

问题解决了。需要使用

for (int i = 0; i < 4; i++) { RowConstraints row = new RowConstraints(100); grid.getRowConstraints().add(row); }

它创建了4行,像素高度为100。

© www.soinside.com 2019 - 2024. All rights reserved.