цель состоит в том, чтобы изменить размер определенной области (которая имеет значение только - область верхнего левого угла) в GridPane при изменении размера окна. Соответствующая область всегда должна соответствовать размеру окна. Механизм изменения размера работает нормально, но GridPane кажется намного больше, что уменьшает важную область.
Есть ли способ отрезать неиспользуемые ячейки в GridPane?
Или есть решение получше?
Код и скриншот проблемы ниже:
for (int row = 0; row <= characters.length - 1; row++) {
for (int column = 0; column <= characters[0].length - 1; column++) {
ClockElement n = new ClockElement(characters[row][column], false);
grid.add(n.getLabel(), column, row);
GridPane.setHalignment(n.getLabel(), HPos.CENTER);
ColumnConstraints c = new ColumnConstraints();
c.setHgrow(Priority.ALWAYS);
//c.setMinWidth(40);
c.setPercentWidth(50); //old 40
grid.getColumnConstraints().add(c);
RowConstraints r = new RowConstraints();
r.setVgrow(Priority.ALWAYS);
//r.setMinHeight(40);
r.setPercentHeight(50);
grid.getRowConstraints().add(r);
arrClockElement[row][column] = n;
}
}
grid.setPadding(new Insets(0, 0, 0, 0));
grid.setPrefSize(580, 680); // Default width and height
grid.setMaxSize(Region.USE_COMPUTED_SIZE, Region.USE_COMPUTED_SIZE);
grid.setGridLinesVisible(true);