I am using JavaFX SplitPanes on my application and I need to change the divider positions when the height and width changes, because I want to keep the divider positions fixed. My code is as follows:
scene.widthProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
GUIController.resetMainSplitPane();
}
});
scene.heightProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneHeight, Number newSceneHeight) {
GUIController.resetMusicSplitPane();
}
});
and the resetSplitPane methods:
public static void resetMusicSplitPane() {
musicSplitPane.setDividerPosition(0, 0.7);
Util.err("height changed");
}
I do get the message 'height changed' however the divider positions have not been changed at all. I think this has something to do with JavaFX performing gui changes which override my changes. In other words; I change the divider position but JavaFX changes it back because its performing layout changes responding to the resizing of the window.