2012-04-13 56 views
0

我有一个带有图像作为背景的JFrame,名为setUndecorated和setWindowOpaque方法。 当我打开JFrame,然后让电脑进入睡眠状态时,但是当电脑从睡眠中醒来时,JFrame变白。当计算从睡眠模式或待机状态唤醒时,基于图像的jframe会变为白色

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

+3

* “给我一些建议吗?” *邮报[SSCCE(http://sscce.org/)。 – 2012-04-13 14:09:33

回答

1

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

你也可以试试这个:

frame.addWindowListener (new WindowAdapter() 
{ 
    public void windowActivated (WindowEvent e) 
    { 
     // Here repaint what you need 
    } 
}); 
+0

我在JFrame上添加了焦点侦听器,但它不起作用 – chenhai 2012-04-16 10:55:11

+0

首先检查焦点增益事件是否被抛出。如果抛出 - 重新绘制将无济于事,你将需要再次将帧不透明度设置为false,或者甚至重新创建帧(可能由于某个bug)。如果没有 - 尝试我已经添加到下面的答案的窗口监听器,它可能工作。 – 2012-04-16 11:19:07

相关问题