Променете фона на JFrame в Sea-Glass Look and Feel

Какъв е правилният начин за промяна на фона на JFrame с вид и усещане Sea-Glass, досега опитах и ​​двете:

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();
                }
            }
        });
    }    

}


person TU_HEO DAKAI    schedule 26.03.2012    source източник
comment
Вместо това заредете L&F чрез UIManager преди всеки код във вашия основен метод. Например: stackoverflow.com/ questions/9541045/ След това направете каквото искате, т.е. променете фона   -  person ee.    schedule 26.03.2012
comment
Някои L&F може да имат нужда да промените няколко свойства на потребителския интерфейс, като извикате setProperty() или нещо подобно. Може да се наложи да разгледате неговия документ. Има и L&Fs с бъги изпълнение, което не ви позволява да промените нещо, което искате! Ако това се случи, може да се наложи да замените неговия paintComponent(), за да използвате поведението на рисуване на UI компонента по подразбиране и да приложите ново поведение на рисуване на компонента.   -  person ee.    schedule 26.03.2012


Отговори (1)


Seaglass Look and Feel е базиран на Nimbus, тогава трябва да приемете вградените му теми или да зададете Цветове за Nimbus програмно

person mKorbel    schedule 26.03.2012