Search code examples
javajavafxfullscreenkeyeventkeycode

Same KeyCode for setting/exiting fullscreen - JavaFx


I use this to setFullScreen():

scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent e) {
            if(e.getCode() == KeyCode.F11) {
                stage.setFullScreen(true);
            }
        }
    });

And this line to exit it:

stage.setFullScreenExitKeyCombination(new KeyCodeCombination(KeyCode.F11));

And as you can see, I want to use the same KeyCode (F11) for both. But it doesn't exit the fullScreen correctly! I guess, it's setting the fulscreen just after it exited it. So it doesn't close the fullScreenMode.


Solution

  • This is the easiest answer to your question.

    scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent e) {
        if(e.getCode() == KeyCode.F11) {
            stage.setFullScreen(!stage.isFullScreen());
        }
    }
    });