I can't correctly put my images to the window with using gridpane

时间:2019-04-23 15:20:07

标签: java arrays javafx gridpane

I am trying to put squares to the application window. I am using gridpane and ı need to put 16 square with 4x4 array . With gridpane ı can create 3 row 4 column array , however ı can't put squares to the bottom row. Here is my code and results :

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();

And this is what it looks when ı run it : Test Results :

grid.add(imageView6, 3, 3);

this part of the code should have put the square to the bottom right side but it is appearing on the wrong place.

1 个答案:

答案 0 :(得分:0)

问题已解决。需要使用

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

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