JavaFX - SplitPane, redimensionar e proporções

Como posso obter um redimensionamento proporcional de todo o 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);
    }
}

Comece o programa:

Definir divisores como eu gosto deles:

Faça a largura da janela muito pequena (eu continuei e fiz com que ela fosse ainda menor, sem foto):

Redimensione de volta e observe que os divisores não são nem como os defini nem como estavam quando o programa foi iniciado.

Isso faz com que fique mais próximo do que eu esperava:

    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)

exceto que os divisores estão inicialmente na posição errada (até que eu redimensione o SplitPane, o 1px é suficiente) e quando diminuímos a largura da janela, os divisores estão dentro dos componentes.

Como posso fazer isso funcionar por favor?

questionAnswers(3)

yourAnswerToTheQuestion