Как исправить реализацию виртуального горизонтального потока таким образом, чтобы при изменении ширины этапа ячейки также сами меняли размер? - PullRequest
0 голосов
/ 22 апреля 2019

Когда я изменяю размер сцены, я ожидаю, что ячейки изменят размеры, занимая новое пространство.

Создание 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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...