JavaFX全屏独占模式

我正在制作一个JavaFX自助服务终端应用程序,需要完全控制屏幕并禁止关闭,最小化和某些按键。 我想知道有没有办法让JavaFX应用程序以全屏独占模式运行,如果没有,有任何替代方案可以实现相同的目标。 我试过用过:

stage.setFullScreen(true); 

它成功地使应用程序全屏,但用户仍然可以退出应用程序或退出全屏。

处理近距离事件。

以下代码可能有帮助!

//设置平台参数Platform.setImplicitExit(false);

 primaryStage.setOnCloseRequest(new EventHandler() { @Override public void handle(WindowEvent event) { // deque it event.consume(); } }); 

我最近遇到了同样的问题,希望你能解决它(我不会等待4年才能得到答案)。

如果不:

在调用stage.show()您需要调用setFullScreenExitKeyCombination并将KeyCombination.NO_MATCH作为唯一参数传递。

所以例如……

 stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH); stage.show() 

这样可以防止关闭和取消全屏显示(但仍然可以通过后门方式删除全屏 – Shift + PAUSE或F13):

 scene.setOnKeyPressed((event) -> { if (event.getCode() == KeyCode.PAUSE && event.isShiftDown()) stage.setFullScreen(!stage.isFullScreen()); }); stage.setOnCloseRequest(Event::consume); stage.setFullScreenExitKeyCombination(new KeyCodeCombination(KeyCode.F13)); 

要关闭应用程序,您必须在某些命令上添加Platform.exit()