JavaFX全屏独占模式

时间:2014-03-02 00:04:20

标签: java user-interface javafx fullscreen kiosk-mode

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

stage.setFullScreen(true);

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

3 个答案:

答案 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()