JavaFX - SplitPane, изменение размера и пропорций

Как я могу добиться пропорционального изменения размера всего SplitPane?

public class JfxSplitPaneTest extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        SplitPane split = new SplitPane();
        StackPane child1 = new StackPane();
        child1.setStyle("-fx-background-color: #0000AA;");
        StackPane child2 = new StackPane();
        child2.setStyle("-fx-background-color: #00AA00;");
        StackPane child3 = new StackPane();
        child3.setStyle("-fx-background-color: #AA0000;");
        split.getItems().addAll(child1, child2, child3);
        //split.setDividerPositions(0.1f, 0.6f, 0.9f)
        stage.setScene(new Scene(split, 400, 300));
        stage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

Запустите программу:

Установите делители, как они мне нравятся:

Сделайте ширину окна действительно маленькой (я продолжил и сделал ее еще меньше, без картинки):

Измените размер и обратите внимание, что разделители - это не то, как я их настраивал, и как они были, когда программа запускалась.

Это делает его ближе к тому, что ябуду ожидать:

    child1.setMinWidth(Region.USE_PREF_SIZE)
    child1.setPrefWidth(100)
    child2.setMinWidth(Region.USE_PREF_SIZE)
    child2.setPrefWidth(200)
    child3.setMinWidth(Region.USE_PREF_SIZE)
    child3.setPrefWidth(300)

за исключением того, что разделители изначально находятся в неправильном положении (пока я не изменю размер SplitPane, достаточно 1px) и при уменьшении ширины окна разделители находятся внутри компонентов.

Как я могу сделать эту работу, пожалуйста?

Ответы на вопрос(3)

Ваш ответ на вопрос