全屏Java应用程序在打开屏幕保护程序时将最小化

问题描述

| 我有一个设置全屏框架的应用程序,但是打开屏幕保护程序时似乎可以将其最小化。我希望该应用程序是触摸屏信息亭用户可以使用的唯一应用程序,所以这是一个问题。反正有防止这种情况发生的方法吗?     

解决方法

        另一种方法是添加一个窗口侦听器并在其停用时重置状态:
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowDeactivated(WindowEvent e) {
                frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
                // or go to fullscreen mode here
            }
        });
但是禁用屏幕保护程序可能是最好的开始。     ,        互联网上说,实现这一目标的跨平台方法是使用以下代码安排键盘事件:
import java.awt.Robot;
public void disableScreenSaver() throws AWTException {
  Robot r = new Robot();
  r.waitForIdle();
  r.keyPress(KeyEvent.VK_CONTROL);
  r.keyRelease(KeyEvent.VK_CONTROL);
}
并安排它每两分钟运行一次(例如,按
thread.sleep();
)。这样,屏幕保护程序将不会显示。 不过,我不知道这是一种非骇客的跨平台解决方案,很高兴看到知道这一点的人:)     ,        可能(没有尝试过!)您可​​以通过组合以下问题的答案来获得答案: 从Java调用Win32 API方法 需要在Windows C#/。Net中禁用屏幕保护程序/屏幕锁定 当然,这仅在Windows中有效,这就是为什么我询问您有关OS的原因:)