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

标签 java awt fullscreen

我正在开发一个在全屏独占模式下使用 awt 框架的应用程序。 一切正常,直到弹出窗口可见。 这会抢走焦点,我的应用程序将被最小化。

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

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 设置,从而维护您自己的窗口分辨率.

你是一个原因,解释说 here在 Window 操作系统的上下文中

这是用于某种信息亭系统吗?然后将整个应用程序设置为 shell,如下所述:Keeping a Windows application on top of other windows and in focus - always

任务管理器仍会在其前面弹出,并且 alt tab 键应该照常工作。

在 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-card

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

关于java - 全屏独占模式下的 AWT 框架在窗口弹出对话框中最小化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24041094/

相关文章:

java - 对象在绘制时不会出现在 java applet 中。我应该如何正确使用 AWT 中的绘制/重绘方法?

java - 在Java中的JFrame上显示鼠标坐标

silverlight - WP7 Silverlight + XNA : application bar on -> no longer fullscreen xna rendering?

android - 全屏视频无中断纵横比

Java - 在排序数组中查找最不常见的整数

java - 使用另一个java程序编译一个java程序

java - 用于投资组合选择的纯 Java 开源库(= 受约束的非线性优化)?

java - 在 Java 中使用替代代码

java - Firestore 离线写入事件

javascript - 如何停止 requestAnimationFrame 递归/循环?