当计算从睡眠模式或待机模式唤醒时,基于图像的 jframe 变为白色

Posted

技术标签:

【中文标题】当计算从睡眠模式或待机模式唤醒时,基于图像的 jframe 变为白色【英文标题】:image based jframe become white when compute wake up from sleep mode or standby 【发布时间】:2012-04-25 21:40:51 【问题描述】:

我有一个以图像为背景的 JFrame,称为 setUndecorated 和 setWindowOpaque 方法。 当我打开JFrame然后让电脑进入睡眠状态,但是当电脑从睡眠中唤醒时,JFrame变成了白色。

我猜可能是重绘问题,但我无法解决这个问题,请给我一些建议吗?

【问题讨论】:

“给我一些建议?” 发帖SSCCE。 【参考方案1】:

当您的窗口 (JFrame) 获得焦点时,您可以简单地尝试重新绘制包含图像的组件。我猜这应该可以解决“醒来”后重新粉刷的问题。

你也可以试试这个:

frame.addWindowListener ( new WindowAdapter ()

    public void windowActivated ( WindowEvent e )
    
        // Here repaint what you need
    
 );

【讨论】:

首先检查焦点增益事件是否被抛出。如果抛出 - 重新绘制将无济于事,您需要再次将框架不透明度设置为 false 甚至重新创建框架(可能是由于一些错误)。如果没有 - 尝试我在下面的答案中添加的窗口监听器,它可能会起作用。

以上是关于当计算从睡眠模式或待机模式唤醒时,基于图像的 jframe 变为白色的主要内容,如果未能解决你的问题,请参考以下文章

待机模式下的定时器会怎样? [关闭]

使计算机进入睡眠状态是啥意思

我的惠普笔记本进入睡眠模式后无法唤醒。。。。

待机唤醒实验

从睡眠模式唤醒时不会播放音频(android)

当 Windows 进入睡眠模式然后唤醒时 setTimeout 不起作用