舞台调整事件 (JavaFX)

Stage Resize Event (JavaFX)

我刚开始使用 JavaFX 和 SceneBuilder 进行编程,我需要 window 始终具有相同的宽高比例。由于我之前使用过 swing,每次 window 调整大小时我都会考虑一个事件,这样我就可以同时编辑 width/height 但我还没有找到这样一个事件的机会。

我希望你们中的任何人都能理解我的问题并有解决它的想法:)

正如@James_D 在评论中提到的,有 widthProperty()heightProperty() 可以用来注册监听器。这是一个简单的编码示例

   private void stageSizeChageListener(Stage stage){
        stage.widthProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                System.out.println("Width changed!!");
            }
        });

        stage.heightProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                System.out.println("Height changed!!");
            }
        });


    }