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()
。