当计算从睡眠模式或待机模式唤醒时,基于图像的 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 变为白色的主要内容,如果未能解决你的问题,请参考以下文章