【发布时间】:2014-07-12 19:44:11
【问题描述】:
我在我的应用程序上使用 JavaFX SplitPanes,我需要在高度和宽度发生变化时更改分隔线位置,因为 我想保持分隔线位置固定。我的代码如下:
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();
}
});
和 resetSplitPane 方法:
public static void resetMusicSplitPane() {
musicSplitPane.setDividerPosition(0, 0.7);
Util.err("height changed");
}
我确实收到了“高度已更改”的消息,但是分隔线的位置没有根本没有更改。我认为这与 JavaFX 执行覆盖我的更改的 gui 更改有关。换一种说法;我更改了分隔符的位置,但 JavaFX 将其更改回来,因为它的执行布局会随着窗口大小的调整而改变。
【问题讨论】:
标签: javafx listener divider splitpane