如何锁定JavaFX全屏模式?

我目前正在制作一个志愿登录应用程序,需要防止任何篡改计算机的企图。 首先,我将应用程序设置为全屏,足够轻松。 然后我尝试将窗口的退出键组合设置为null,但在这种情况下JavaFX会自动默认为转义键。 我将有一个管理部分,可以使用密码退出程序。 有没有办法有效地拦截退出JavaFX应用程序的全屏状态的任何可能的方法,或者 – 更好的是 – 暂时挂起/锁定其他操作系统function?

编辑 – 使用KeyCombination.NO_MATCH,我阻止用户退出全屏。 但是,操作系统仍然完全能够使用标准键组合退出,或者在OS X的情况下,只需将鼠标移动到屏幕顶部并使用程序菜单退出即可。

我错过了什么? 我认为它的奶酪……就像这样

primaryStage.fullScreenProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, Boolean oldValue, Boolean newValue) { if(newValue != null && !newValue.booleanValue()) primaryStage.setFullScreen(true); } }); 

全屏无人脾气,直到用户按下开始按钮来模糊UI, 你可以防止这种情况 – 但我建议只有当你即将关闭你的电脑时才尝试以下代码

 new Thread(new Runnable() { @Override public void run() { while(true){ //in my initial try i didn't add sleep, //and i ended up,turning off the pc,lost this post for a while try { Thread.sleep(100); //buy little millieseconds } catch (InterruptedException e) {} Platform.runLater(()->{ primaryStage.toFront(); //bring your UI on top of everyone }); } } }).start(); 

primaryStage是你的Stage

希望它是你想要的

primaryStage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);