舞台调整事件 (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!!");
}
});
}
我刚开始使用 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!!");
}
});
}