Проблемы 1 и 2
Я нашел обходной путь для проблем 1. и 2. с пропуском Vgap и Hgap, потому что, очевидно, он глючит.
Вместо использования свойства gap GridPane я устанавливаю поле для каждой ячейки:
GridPane.setMargin(cell, new Insets(0.5));
Однако это округляет поле до 1 из-за значения по умолчанию snapToPixel="true"
в GridPane и, таким образом, приводит кпробелы 2px.Это неудобно, потому что я хочу, чтобы квадраты были размером 2x2px, поэтому разрыв в 2px слишком велик.Я, вероятно, установлю snapToPixel
на false
на GridPane.Требуется дополнительное тестирование.
Задача 3
Я попытался обернуть GridPane в StackPane, как предложено @Silas Gyeme.
Просто обернуть его в StackPane не удалосьдостаточно. Мне нужно было установить оба значения fitToHeight="true"
& fitToWidth="true"
на ScrollPane.
Также пришлось привязать minSize ячейки к cellSizeBinding, потому что он уменьшал размеры квадратов, когда я уменьшал окно меньше.
cell.minWidthProperty().bind(cellSizeBinding);
cell.minHeightProperty().bind(cellSizeBinding);
РЕДАКТИРОВАТЬ: Я попытался опустить StackPane, и на самом деле он мне не нужен!Достаточно только установить fitToHeight
и fitToWidth
, GridPane будет хорошо растягиваться.