1
Was ist der richtige Weg ist, um Hintergrund von JFrame mit Sea-Glas zu ändern Look and Feel, so weit habe ich versucht, beide:ändern JFrame Hintergrund der in Sea-Glass Look and Feel
frame.getContentPane().setBackground(Color.blue);
und
JPanel x = new JPanel();
x.setBackground(Color.red);
frame.setContentPane(x);
Aber es machte keine Wirkung:
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();
}
}
});
}
}
Last L & F über UIManager vor jedem Code in Ihre Hauptmethode zu akzeptieren. Zum Beispiel: http://stackoverflow.com/questions/9541045/how-to-set-jframe-look-and-feel Danach tun Sie, was Sie wollen, dh ändern Sie den Hintergrund –
Einige L & Fs müssen Sie möglicherweise ein paar UI ändern Eigenschaften durch Aufruf von setProperty() oder etwas. Möglicherweise müssen Sie in das Dokument schauen. Es gibt auch L & Fs mit einer "Buggy" -Implementierung, die es dir nicht erlaubt, zu etwas zu wechseln, das du willst! In diesem Fall müssen Sie möglicherweise die Eigenschaft paintComponent() überschreiben, um das Verhalten der Paint-Komponente für die Standard-UI-Komponente zu übernehmen und ein neues Verhalten für das Paint-Verhalten der Komponente anzuwenden. –