繁体   English   中英

全屏独占模式下的AWT框架在Windows对话框弹出窗口中被最小化

[英]AWT Frame in full-screen exclusive mode gets minimized on windows dialog popup

我正在开发一个在全屏独占模式下使用awt帧的应用程序。 一切正常,直到出现一个Windows弹出窗口。 这将失去重点,并且我的应用程序将被最小化。

这是我的框架初始化代码:

if (ApplicationConfig.getInstance().useFullscreenMode()) {
    frame.setUndecorated(true);
    frame.setResizable(false);

    if (monitor.isFullScreenSupported()) {
        monitor.setFullScreenWindow(frame);
        if (monitor.isDisplayChangeSupported()) {
            DisplayMode defaultMode = new DisplayMode(
                    (int) appDimension.getWidth(),
                    (int) appDimension.getHeight(),
                    32,
                    DisplayMode.REFRESH_RATE_UNKNOWN);

            monitor.setDisplayMode(defaultMode);
            frame.setFulscreenDisplayMode(defaultMode);

            DisplayMode selectedMode = monitor.getDisplayMode();
            log.debug("Setting fullscreen display mode to " + selectedMode.getWidth() + "x" + selectedMode.getHeight() +
                    " color depth: " + selectedMode.getBitDepth() + " refresh rate: " + selectedMode.getRefreshRate());
        } else {
            log.error("Change display mode not supported");
        }
    } else {
        log.error("Full screen not supported");
    }
}

是否有解决方法或设置可以避免这种情况?

窗口管理器通常不强制应用程序窗口模态,对于自定义显示模式应用程序,wm被迫使您退出全屏或最小化,因为它不尊重其他保持您自己的窗口分辨率的窗口的dpi设置。

你是一个原因,说明这里在Window操作系统的情况下

这是某种信息亭系统吗? 然后将整个应用程序变成外壳,如此处所述: 将Windows应用程序置于其他窗口之上并始终处于焦点状态-始终

任务管理器仍会弹出在它前面,并且按Alt键也应该照常工作。

在Linux中进行单个应用登录的类似步骤: http//www.instructables.com/id/Setting-Up-Ubuntu-as-a-Kiosk-Web-Appliance/?ALLSTEPS

要禁用USB修复,请参见以下问题的答案: https : //superuser.com/questions/33986/is-it-possible-to-disable-the-scan-and-fix-message-when-inserting-an- SD卡

请注意,第一个答案需要修复磁盘,如果在下面滚动,则有禁用该特定对话框的步骤。

设置awt框架模态类型可以解决我的问题。 如Lorenzo所述,使用APPLICATION_EXCLUDE可使框架始终位于顶部。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM