Je veux un javafx.stage.Stage
pour être en mode plein écran sur macOS sans barre de menu (native) visible. Je souhaite également que le dock ne soit pas disponible lorsque l'application est en mode plein écran.
J'ai un Stage
et je mets stage.setFullScreen(true)
. Si le style de ma scène est réglé sur stage.initStyle(StageStyle.UNDECORATED)
l'application affiche la barre de menu native et le dock. L'écran entier n'est donc pas disponible pour l'application.
Si je règle le style sur stage.initStyle(StageStyle.UTILITY)
la barre de menu n'est pas visible, elle est remplacée par une zone grise.
Et si je déplace le curseur à l'endroit où se trouve habituellement la barre de menu, celle-ci s'affiche en plus avec un petit bouton de fermeture et une petite barre.
De même, si je place le curseur de la souris à l'endroit où se trouve le dock, celui-ci s'affiche de lui-même.
Comment puis-je obtenir une véritable application plein écran, sans barre de menus, sans dock affiché et sans barre grise en haut, afin que mon application puisse utiliser toute la taille de l'écran ?
Code
import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Screen;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class Fullscreen extends Application {
@Override public void start(Stage stage) throws Exception {
AnchorPane pane = new AnchorPane();
Scene scene = new Scene(pane);
pane.setStyle("-fx-background-color: blue");
stage.initStyle(StageStyle.UTILITY);
stage.setFullScreen(true);
stage.setScene(scene);
stage.show();
//stage.setHeight(stage.getHeight() + 16);
//stage.setY(-16);
}
}
Annotation
Si je mets stage.setHeight(stage.getHeight() + 16)
y stage.setY(-16)
après stage.show()
et le style est fixé à stage.initStyle(StageStyle.UTILITY)
La barre grise n'est plus visible. Mais cela ne semble pas être une bonne solution pour moi car cela dépend de la taille de l'écran (dans mon cas 2560x1440) et je ne sais pas comment obtenir exactement la taille de la barre grise. La barre de menus et le dock sont également disponibles.