JavaFX Как установить максимальный/минимальный размер окна?
Вопрос
Работает ли setMinSize() с контейнерами, например GridPane?Я обнаружил, что в моей программе GridPane игнорирует мин.Свойства размера при изменении размера вручную.Вот код FXML:
<GridPane fx:id="gp" prefHeight="134.0" prefWidth="238.0" xmlns:fx="http://javafx.com/fxml" fx:controller="javafxapplication12.SampleController">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
и класс контроллера
public class SampleController implements Initializable {
@FXML
private GridPane gp;
@Override
public void initialize(URL url, ResourceBundle rb) {
gp.setMaxWidth(700);
gp.setMinSize(200, 200);
}
Что здесь не так?Должен ли быть какой-то максимальный/минимальный размер «окна»?
Решение
Я предполагаю, что под окном вы имеете в виду Этап (который является подклассом Window).
Размер окна может отличаться от размера корневого контейнера сцены.Вы можете думать об окне или сцене как о независимом окне просмотра сцены, размер которого может быть больше или меньше, чем минимальные и максимальные спецификации корня сцены.
Чтобы установить минимальный или максимальный размер сцены, установите его минВысота и минширина или максимальная высота и Максимальная ширина характеристики.
Ответы на дополнительные вопросы
Можно ли настроить сцену на размер «по размеру всего экрана»?
Но как сделать размер таким же, как мы делаем кликом по заголовку?