JavaFX全屏独占模式

 2023-02-16    317  

问题描述

我正在制作一个Javafx信息亭应用程序,需要完全控制屏幕并禁止关闭,最小化和某些关键点.我想知道是否有一种方法可以使Javafx应用程序以全屏独家模式运行,如果没有任何可以实现相同目标的选择.我尝试使用:

stage.setFullScreen(true);

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

JavaFX全屏独占模式

推荐答案

处理关闭事件.

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

//设置平台参数
platform.setimplicitexit(false);

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

其他推荐答案

我最近遇到了同样的问题,希望您能弄清楚(我不会等4年来答案).

如果不是:

在打电话stage.show()之前,您需要调用setFullScreenExitKeyCombination>并将KeyCombination.NO_MATCH作为唯一的参数.

所以…

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

其他推荐答案

这将防止持续和删除带有ESC(但仍然让您以后门Y的方式删除全屏幕 – Shift+Pause+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().

以上所述是小编给大家介绍的JavaFX全屏独占模式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33975.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。