2012-03-26 10 views
1

何が海ガラスのLook&FeelでのJFrameの背景に変更するための適切な方法でのルックアンドフィール、これまでのところ、私は両方を試してみました:変更のJFrameの背景は

frame.getContentPane().setBackground(Color.blue); 

JPanel x = new JPanel(); 
x.setBackground(Color.red); 
frame.setContentPane(x); 

しかし、それはどんな効果がありませんでした:

import javax.swing.*; 
import com.seaglasslookandfeel.*; 
import java.awt.*; 
import java.awt.Color.*; 
public class BORDER_TEST { 
public static void main(String[] a){ 

     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 

        UIManager.setLookAndFeel("com.seaglasslookandfeel.SeaGlassLookAndFeel"); 
        JFrame frame = new JFrame(); 
        JPanel x = new JPanel(); 
        x.setBackground(Color.red); 
        frame.setContentPane(x); 

        //frame.getContentPane().setBackground(Color.blue); 
        frame.setPreferredSize(new Dimension(900,350)); 
        frame.setAlwaysOnTop(true); 
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
        frame.pack(); 
        frame.setLocationRelativeTo(null); 
        frame.setVisible(true); 
        } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    }  

}

+0

負荷L&Fを設定を受け入れるに持っています。例えば、:http://stackoverflow.com/questions/9541045/how-to-set-jframe-look-and-feelその後、あなたが望むように、つまりその背景を変更してください。 –

+0

いくつかのL&Fは、いくつかのUIを変更する必要がありますsetProperty()か何かを呼び出すことによってプロパティその文書を調べる必要があるかもしれません。あなたが望むものに変更することを許可していない "バグのある"実装のL&Fもあります!このような場合は、paintComponent()をオーバーライドして、デフォルトのUIコンポーネントペイント動作を消費し、新しいコンポーネントペイント動作を適用する必要があります。 –

答えて