JavaFX: Fullscreen toggle

One of the things, that I could never get to work with a Swing application is the full screen mode on a Linux (Ubuntu, Mint) machine. There was always a panel (menu bar) that would be in the way and hide part of the application. Furthermore it is inherently more difficult to handle the proper layout. Therefore I did a quick test with JavaFX to see if these issues have been overcome.

And they have. I reused the example with the scalable ImageViewPane and added a mouse click handler on the stage which simply toggles between full screen and windowed mode.

    private boolean fullsreen = false;

    @Override
    public void start(final Stage primaryStage) {
        try {
            Image img = new Image( getClass().getResource("kajak4_small.png").openStream());
            ImageViewPane imageViewPane = new ImageViewPane(new ImageView(img));

            StackPane root = new StackPane();
            root.getChildren().add(imageViewPane);

            root.setOnMousePressed(new EventHandler<MouseEvent>(){
                @Override
                public void handle(MouseEvent t) {
                    primaryStage.setFullScreen(!fullsreen);
                    fullsreen = !fullsreen;
                }
            });

            Scene scene = new Scene(root, 300, 250);
            primaryStage.setTitle("FullscreenTest");
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch (IOException ex) {
            Logger.getLogger(FullscreenTest.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Schreibe einen Kommentar