Как прослушать изменение размера сцены в JavaFX? Я хочу выполнить некоторые функции для изменения размера формы формы (или Scene или Stage что бы это ни было). Но как я могу определить событие изменения размера в JavaFX? Ответ 1 Вы можете прослушивать изменения widthProperty и heightProperty Stage: 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); Ответ 2 Сохранение отношения фиксированной ширины к высоте: stage.minHeightProperty().bind(stage.widthProperty().multiply(0.5)); stage.maxHeightProperty().bind(stage.widthProperty().multiply(0.5));
Ответ 1 Вы можете прослушивать изменения widthProperty и heightProperty Stage: 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);
Ответ 2 Сохранение отношения фиксированной ширины к высоте: stage.minHeightProperty().bind(stage.widthProperty().multiply(0.5)); stage.maxHeightProperty().bind(stage.widthProperty().multiply(0.5));