我刚刚开始使用 JavaFX 和 SceneBuilder 进行编程,我需要我的窗口始终具有相同的宽度-高度比例。由于我以前使用过 swing,所以每次调整窗口大小时我都会考虑一个事件,以便我可以同时编辑宽度/高度,但我还没有找到这样的事件的机会。
我希望你们中的任何人都能理解我的问题并有办法解决它:)
最佳答案
正如 @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!!");
}
});
}
关于events - 舞台调整大小事件 (JavaFX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47044623/