我正在制作一个JavaFX自助服务终端应用程序,需要完全控制屏幕并禁止关闭,最小化和某些按键。我想知道有没有办法让JavaFX应用程序以全屏独占模式运行,如果没有,有任何替代方案可以实现相同的目标。我尝试过使用:
stage.setFullScreen(true);
成功地使应用程序全屏显示,但用户仍然可以退出应用程序或退出全屏。
答案 0 :(得分:1)
处理近距离事件。
以下代码可能有所帮助!
//设置平台参数 Platform.setImplicitExit(假);
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
// deque it
event.consume();
}
});
答案 1 :(得分:0)
我最近也遇到过同样的问题,希望你能解决这个问题(我不会等待4年才能得到答案)。
如果不是:
在致电stage.show()
之前,您需要致电setFullScreenExitKeyCombination
并传递KeyCombination.NO_MATCH
作为唯一参数。
所以例如......
stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
stage.show()
答案 2 :(得分:0)
这样可以防止关闭和取消全屏显示(但仍然可以通过后门方式移除全屏 - 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()
。