4

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

stage.setFullScreen(true);

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

4

3 回答 3

1

处理关闭事件。

以下代码可能会有所帮助!

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

primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
    @Override
    public void handle(WindowEvent event) {
// deque it
        event.consume();
    }
});
于 2014-09-15T11:23:57.507 回答
1

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

如果不:

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

所以例如...

stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
stage.show()
于 2018-04-17T15:30:46.263 回答
0

这将防止使用 ESC 关闭和取消全屏(但仍然为您提供后门方式来删除全屏 - 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()一些命令。

于 2018-05-28T14:50:30.053 回答