Когда я изменяю размер сцены, я ожидаю, что ячейки изменят размеры, занимая новое пространство.
Создание GUI с JavaFX.Использование Flowless 'VirtualFlow в качестве зависимости.Когда я создаю Vertical VirtualFlow и изменяю размер сцены в любом направлении, ячейки, заданные с помощью кода, также изменяют размеры сами, чтобы заполнить пространство.С горизонтальным VirtualFlow, когда я изменяю высоту сцены по вертикали, она изменяет размеры ячеек, но проблема в том, что когда я меняю ширину сцены, ячейки сами не меняют размеры.
https://github.com/FXMisc/Flowless
Я посмотрел на источник, и я считаю, что это связано с классом SizeTracker, но я не знаю, как мне следует исправить это, или даже если есть обходной путь для пересчета ячеек, к которым я мог бы обратиться.На странице Flowless GitHub у меня не возникло проблем, потому что в настоящее время им не управляют, поэтому я не знаю, что делать или как мне решить эту проблему.
public class FlowTest extends Application{
// Start Methods
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage stage) throws Exception{
var values = new SimpleListProperty<>(FXCollections.observableArrayList(Color.ALICEBLUE, Color.RED,
Color.GRAY, Color.GREEN, Color.BROWN, Color.YELLOW));
var colorViewHolder = new StackPane();
var colorView = VirtualFlow.createHorizontal(values, (color) -> {
// Create Layout/Parent
var gridPane = new GridPane();
gridPane.setBackground(new Background(new BackgroundFill(color, null, null)));
gridPane.prefHeightProperty().bind(colorViewHolder.heightProperty());
gridPane.prefWidthProperty().bind(colorViewHolder.widthProperty().divide(values.sizeProperty()));
return Cell.wrapNode(gridPane);
});
colorViewHolder.getChildren().add(colorView);
stage.setScene(new Scene(colorViewHolder, 500, 500));
stage.show();
}
// End Methods
}