Как установить JavaFX Stage / Frame для максимизации

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

5 ответов


при оценке исходного кода ансамбля.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 будет расти немного больше (ОС Windows). После этого кнопка "развернуть" будет отключена. В приведенном примере стандартные кнопки заменяются. Может быть, это все еще вопрос.


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

primaryStage.setMaximized(true);

лучше использовать мульти-экран совместимый увеличить логики:

// 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.setMaximized(true); и он заполняет весь экран . обратите внимание, что если вы удалите кнопки максимизации / минимизации, приложение заполнит весь экран, а также удалит панель задач, чтобы mnd ваши стили, Если у вас есть


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

primaryStage.initStyle(StageStyle.UTILITY);

где primaryStage ваш объект Stage.