我使用的是全屏窗口,类似于屏幕保护程序。使用这里的方法,
GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice()
.setFullScreenWindow(this);
但是,当屏幕锁定或屏幕保护程序运行时,并且显示此屏幕时,此屏幕将显示在顶部。我无法访问登录提示。所以java框架在上面,我无能为力。我必须重新启动计算机才能摆脱这个问题。
因为当登录屏幕出现时,没有其他窗口获得鼠标/键盘输入。我的窗口通过按 ESC 或鼠标移动事件退出。
如何获得整个屏幕,但如果出现登录对话框,它应该显示在顶部?
恐怕这里不存在清晰的、纯java的解决方案。
我建议您在打开此全屏窗口之前检查屏幕保护程序是否正在运行。那么问题来了,如何检测屏幕保护程序是否正在运行呢?欢迎您自行搜索,但我的快速调查表明您需要特定于平台的代码。
以下链接显示了 Windows 的 2 种解决方案:Java中如何判断屏幕保护程序是否正在运行? https://stackoverflow.com/questions/2057492/how-to-determine-if-a-screensaver-is-running-in-java
对于 MAC 情况,第二种解决方案可能可以帮助您。检查是否可以识别屏保进程。如果您可以获取正在运行的进程列表(通过执行外部命令行)并验证该进程是否正在运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)