JavaFX GridPane содержит неопределенный интервал - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь добавить Labels к GridPane. Эти Labels содержат ImageViews, которые содержат некоторые Images.

Мои изображения имеют размер .png и имеют размер 50 x 50 пикселей.

Если мой GridPane становится большим, чтобы отобразить его на моем экране, я хочу изменить размеры своих изображений. Я пытаюсь сделать это с помощью методов setFitWidth и setFitHeight.

подрезал

@Override
public void start(Stage stage) {        
    GridPane gridPane = new GridPane();

    int ySize = 5;
    int xSize = 5;

    int imageSize = 25;

    for(int i=0 ; i<ySize ; i++) {
        for(int j=0 ; j<xSize ; j++) {
            ImageView imageView = new ImageView(new Image(getClass().getResourceAsStream("path.png")));
            imageView.setFitWidth(imageSize);
            imageView.setFitHeight(imageSize);
            Label label = new Label();
            label.setGraphic(imageView);        
            gridPane.add(label, i, j);
        }
    }

    stage.setScene(new Scene(gridPane));

    stage.show();
}

Вывод выглядит нормально:

enter image description here

Однако, если imageSize становится маленьким, например 10, между рядами появляется горизонтальное расстояние:

enter image description here

Есть ли способ удалить это? Я попытался установить максимальные свойства размеров этикеток:

label.setMaxHeight(imageSize);
label.setMaxWidth(imageSize);

без эффекта.

Есть ли способ удалить расстояние? Это потому, что изображения в формате .png? Спасибо

...