Я пытаюсь добавить 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](https://i.stack.imgur.com/dqpXz.png)
Однако, если imageSize
становится маленьким, например 10
, между рядами появляется горизонтальное расстояние:
![enter image description here](https://i.stack.imgur.com/62NnV.png)
Есть ли способ удалить это? Я попытался установить максимальные свойства размеров этикеток:
label.setMaxHeight(imageSize);
label.setMaxWidth(imageSize);
без эффекта.
Есть ли способ удалить расстояние? Это потому, что изображения в формате .png?
Спасибо