2012-01-26 15 views
4

私はプログラムの背景色を灰色ではなく白くしようとしています。JPanelの背景が色を変えないのはなぜですか?

私はプログラムを含むフレームクラスを持っています(そのフレームクラスの新しいインスタンスはメインメソッドでインスタンス化されています)。私は次のようにコンストラクタである:

this.setBackground(Color.WHITE); 

それが何らかの形で他のパネルによってブロックされただけの場合には、私は私のプログラムを持っているすべてのパネル(と私が意味する一人一人のコンストラクタに同じ行を追加しました)。

まだ何も起こっていません。

何が間違っている可能性がありますか?

+0

この呼び出しの前後にコードを表示できますか?そして 'frame class'によって' JFrame'のインスタンスを意味しますか? – jefflunt

答えて

6

このコードがJFrameのコンストラクタで呼び出された場合、実行する必要のあるJFrameのcontentPaneの色は変更されません。他のJPanelがGUIに追加

getContentPane().setBackground(Color.WHITE); 

その色が設定されていないはずですが、これがためにそれらの背後にある任意の画像や色をできるようになるmyPanel.setOpaque(false);を経由してfalseに設定され、その不透明な性質を持っている必要があります。のcontentPaneにその呼び出しを行います見えるようにする。例外は常に不透明でなければならないcontentPaneです。

これは問題が解決しない場合は、私たちに詳細を伝える必要があります。

関連する問題