web-dev-qa-db-fra.com

Comment définir une étape / un cadre JavaFX sur Maximized

J'utilise JavaFX 2. Je veux que mon cadre s'ouvre au maximum, mais je ne vois pas de moyen. J'ai cherché un peu sur internet sans succès. Pour la scène, je vois setFullScreen() et setIconified() mais je ne vois rien comme setMaximized().

35
Dorothy

Lors de l'évaluation du code source du Ensemble.jar fourni avec les exemples de SDK JavaFX 2.0, la méthode actuellement valide pour maximiser la fenêtre est

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

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

(vous trouvez un code similaire dans WindowButtons.Java)

Le bouton "Agrandir" est toujours activé et lorsque vous cliquez dessus, les fenêtres s'agrandissent un peu plus (système d'exploitation Windows). Après cela, le bouton "Agrandir" est désactivé. Dans l'exemple fourni, les boutons standard sont remplacés. C'est peut-être encore un problème.

31
pmoule

L'implémentation Java 8 de la classe Stage fournit une propriété maximisée, qui peut être définie comme suit:

primaryStage.setMaximized(true);
132
Hans

Meilleure utilisation compatible multi-écrans maximiser la logique:

// 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());
7
Frank Roth

essayez ce code plus simple primaryStage.setMaximized(true); et il remplit tout l'écran. notez que si vous supprimez les boutons d'agrandissement/réduction, l'application remplira tout l'écran ainsi que la barre des tâches afin de trouver votre initStyles si vous en avez

7
Flash