2012-04-03 17 views
25

スイングコンポーネントのデフォルトの背景色を取得するにはどうすればよいですか?私はJPanelのデフォルトの背景色を意味しますか? UIManager色の完全なリストについてはスイングコンポーネントのデフォルトの背景色を取得する

panel.getBackground(); 

Color color = UIManager.getColor ("Panel.background"); 

CURRENTパネルの背景の使用を取得するには:それは使用し作成されたときにパネルが使用するDEFAULT色を取得するために

+1

おそらく、あなたは次のようなものを探しています:http://stackoverflow.com/questions/2739704/getting-panel-color? – ranman

+0

あなたの質問から、私は、GUIの設計に何か問題があると思われます。 'super.paintComponent(g)'でソートすることができない(より良い)必要なデフォルトの色については何ですか? BTW - Swingの 'JPanel'は、典型的には(PLAFに依存します)' JTable'や 'JTextField'とは異なるBGの色を持っています。あなたが「BG」の色を持っているとは考えないでください。 –

答えて

49

プロパティについては、http://alvinalexander.com/java/java-uimanager-color-keys-listを参照してください。

+0

パネルが作成時に使用する「デフォルトの色」を返しますか?または、最後の 'UIManager.put(" Panel.background "、color)の後の値を返します; ? – c0der

+0

もしあなたが深く欲しいのであれば、 'JPanel'はデフォルト値をまったく持っていません。UIインストールの現在のパネルUIインスタンスから設定されています。最も一般的には、 'Panel.background'キーのUIデフォルトテーブル値から取得されます。もちろん、その値を再定義することもできます。その場合はデフォルトのパネル背景色になり、再定義した後に作成されたすべての新しいパネルに使用されます。 –

関連する問題