我有一個帶有圖像作爲背景的JFrame,名爲setUndecorated和setWindowOpaque方法。 當我打開JFrame,然後讓電腦進入睡眠狀態時,但是當電腦從睡眠中醒來時,JFrame變白。當計算從睡眠模式或待機狀態喚醒時,基於圖像的jframe會變爲白色
我想這可能是重繪問題,但我無法解決這個問題,請你給我一些建議?
我有一個帶有圖像作爲背景的JFrame,名爲setUndecorated和setWindowOpaque方法。 當我打開JFrame,然後讓電腦進入睡眠狀態時,但是當電腦從睡眠中醒來時,JFrame變白。當計算從睡眠模式或待機狀態喚醒時,基於圖像的jframe會變爲白色
我想這可能是重繪問題,但我無法解決這個問題,請你給我一些建議?
您可以簡單地嘗試重新繪製組件,該組件在窗口(JFrame)接收焦點時包含圖像。這應該可以解決「醒來」後我重新繪製的問題。
你也可以試試這個:
frame.addWindowListener (new WindowAdapter()
{
public void windowActivated (WindowEvent e)
{
// Here repaint what you need
}
});
我在JFrame上添加了焦點偵聽器,但它不起作用 – chenhai 2012-04-16 10:55:11
首先檢查焦點增益事件是否被拋出。如果拋出 - 重新繪製將無濟於事,你將需要再次將幀不透明度設置爲false,或者甚至重新創建幀(可能由於某個bug)。如果沒有 - 嘗試我已經添加到下面的答案的窗口監聽器,它可能工作。 – 2012-04-16 11:19:07
* 「給我一些建議嗎?」 *郵報[SSCCE(http://sscce.org/)。 – 2012-04-13 14:09:33