在JavaFx中捕获LeaveFullscreen

时间:2016-07-06 11:01:08

标签: java javafx fullscreen

我正在编写一个JavaFx-Application并希望强制全屏。我试过了

mainView.getLayout().setOnKeyPressed(event -> {
        if(event.getCode() == KeyCode.ESCAPE){
        mainView.getStage().setFullScreen(true);
        }
    });

mainView.getLayout()返回StackPane

但这不是一个干净的解决方案,当它离开全屏时会自动切换回全屏。但我想抓住LeaveFullScreen而不做任何事情而不是离开并切换回去。

2 个答案:

答案 0 :(得分:1)

fullScreenExitKey property of the Stage可以设为KeyCombination.NO_MATCH。这可以防止任何键组合退出全屏模式。

stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
stage.setFullScreen(true);

答案 1 :(得分:0)

您可以添加ChangeListener  到Stage全屏属性:

primaryStage.fullScreenProperty().addListener(new ChangeListener<Boolean>() {

        @Override
        public void changed(ObservableValue<? extends Boolean> observable,
                Boolean oldValue, Boolean newValue) {
            if(newValue != null && !newValue.booleanValue())
                primaryStage.setFullScreen(true);
        }
    });

有关详情,请查看此问题here