Я не могу правильно поместить свои изображения в окно с использованием gridpane - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь поместить квадраты в окно приложения. Я использую 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();

И вот как это выглядит, когда вы запускаете его: Результаты теста:

grid.add(imageView6, 3, 3);

эта часть кода должна была поместить квадрат в нижнюю правую сторону, но она появляется не в том месте.

1 Ответ

0 голосов
/ 23 апреля 2019

Проблема решена. Необходимо использовать

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

Создает 4 строки высотой 100 пикселей.

...