JavaFX: разрешить изменение размера окна только в одном направлении - PullRequest
1 голос
/ 25 февраля 2020

Можно изменить состояние изменяемого размера стадии JavaFX, используя метод javafx.stage.Stage.setResizable (логическое значение) .


ВОПРОС

Есть ли возможность разрешить изменение размера только по горизонтали или только по вертикали?


Существуют такие методы, как Stage.setMaxWidth, Stage.setMaxHeight, Stage.setMinWidth, Stage.setMinHeight, но они могут использоваться только для управления изменением размера с этапами фиксированного размера (например, путем установки width = minWidth = maxWidth, запретить горизонтальное изменение размеров).

1 Ответ

5 голосов
/ 25 февраля 2020

Вы можете запретить внешние попытки изменить высоту следующим образом:

stage.show();
stage.maxHeightProperty().bind(stage.heightProperty());
stage.minHeightProperty().bind(stage.heightProperty());

То же самое для ширины:

stage.maxWidthProperty().bind(stage.widthProperty());
stage.minWidthProperty().bind(stage.widthProperty());

Этот способ даст вам возможность изменить его размер внутри, когда содержимое изменения (например, позвоните sizeToScene()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...