Как установить JavaFX Stage/Frame в максимизированный

Я использую JavaFX 2. Я хочу, чтобы мой кадр открывался в максимальном размере, но я не вижу пути. Я немного искал в интернете, но безуспешно. Для этапа я вижу setFullScreen() а также setIconified() но я не вижу ничего подобного setMaximized(),

5 ответов

Решение

При оценке исходного кода Ensemble.jar, предоставленного с образцами JavaFX 2.0 SDK, в настоящее время действительным способом достижения максимизации окна является

Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();

primaryStage.setX(bounds.getMinX());
primaryStage.setY(bounds.getMinY());
primaryStage.setWidth(bounds.getWidth());
primaryStage.setHeight(bounds.getHeight());

(вы найдете похожий код в WindowButtons.java)

Кнопка "Развернуть" все еще активна, и при нажатии на нее окна будут расти немного больше (ОС Windows). После этого кнопка "развернуть" отключается. В приведенном примере стандартные кнопки заменены. Может быть, это все еще проблема.

Реализация Java 8 класса Stage обеспечивает максимизированное свойство, которое можно установить следующим образом:

primaryStage.setMaximized(true);

Попробуйте этот более простой код primaryStage.setMaximized(true);и он заполняет весь экран. обратите внимание, что если вы удалите кнопки "Развернуть / Свернуть", приложение заполнит весь экран, а также удалит панель задач, так что initStyles если у тебя есть

Лучше использовать Multi-Screen совместимую логику максимизации:

// Get current screen of the stage      
ObservableList<Screen> screens = Screen.getScreensForRectangle(new Rectangle2D(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight()));

// Change stage properties
Rectangle2D bounds = screens.get(0).getVisualBounds();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());

Используйте это, чтобы удалить кнопки "Развернуть", "Развернуть":

primaryStage.initStyle(StageStyle.UTILITY);

Где primaryStage - это ваш объект Stage.

Другие вопросы по тегам