2012-04-13 1 views
0

イメージをバックグラウンドに持つJFrameをsetUndecoratedおよびsetWindowOpaqueメソッドといいます。 JFrameを開いてコンピュータをスリープさせると、コンピュータがスリープ状態から復帰すると、JFrameが白くなります。イメージベースのjframeは、スリープモードまたはスタンバイからウェイクアップを計算すると白になります。

私はおそらく問題を再描画すると思いますが、私はこの問題を解決できません。私にいくつかの提案をお願いしますか?

+3

また、あなたはこれを試すことができます。 –

答えて

1

ウィンドウ(JFrame)がフォーカスを受け取ったときにイメージを含むコンポーネントを再ペイントしてみてください。それは私が推測する "目を覚ました後に再塗装の問題を修正する必要があります。 "私にいくつかの提案を与える?" *ポストを[SSCCE](http://sscce.org/)*

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

JFrameにフォーカスリスナーを追加しても動作しません – chenhai

+0

まず、フォーカスゲインイベントがスローされるかどうかをチェックします。スローされた場合 - 再塗りつぶしが役立たず、フレームの不透明度を再びfalseに設定するか、フレームを再作成する必要があります(多分バグのため)。そうでない場合 - 私が以下の答えに追加したウィンドウリスナーを試してみてください。うまくいくかもしれません。 –

関連する問題