2012-04-13 39 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

相關問題