如何在JavaFX中收听Stage的调整大小事件?
2022-09-02 05:27:36
我想对调整表单大小事件(或它是什么)执行一些功能。Scene
Stage
但是,如何在JavaFX中检测表单的调整大小事件呢?
我想对调整表单大小事件(或它是什么)执行一些功能。Scene
Stage
但是,如何在JavaFX中检测表单的调整大小事件呢?
stage.widthProperty().addListener((obs, oldVal, newVal) -> {
// Do whatever you want
});
stage.heightProperty().addListener((obs, oldVal, newVal) -> {
// Do whatever you want
});
注意:要同时收听宽度和高度的变化,可以非常简单地使用相同的监听器:
ChangeListener<Number> stageSizeListener = (observable, oldValue, newValue) ->
System.out.println("Height: " + stage.getHeight() + " Width: " + stage.getWidth());
stage.widthProperty().addListener(stageSizeListener);
stage.heightProperty().addListener(stageSizeListener);
保持固定的宽高比:
stage.minHeightProperty().bind(stage.widthProperty().multiply(0.5));
stage.maxHeightProperty().bind(stage.widthProperty().multiply(0.5));