Java - Erscheinungsbild

Um unsere Anwendung hübscher aussehen zu lassen, wurde die Swing-Architektur entwickelt, um das Erscheinungsbild Ihrer Anwendung oder GUI zu ändern, indem jede Komponente in zwei verschiedene Klassen unterteilt wird: JComponent und ComponentUI. Beispielsweise verfügt jede Instanz von JList über eine konkrete ListUI-Implementierung, die von der ComponentUI.

-Superklasse erbt, verwenden Sie die Methode:  UIManager.setLookAndFeel(LookAndFeel l ) mit dem Klassennamen LookAndFeel als Argument.

Nach der Änderung müssen Sie den Komponentenbaum aktualisieren, indem Sie die Methode aufrufen  SwingUtilities.updateComponentTreeUI(frame);

Example

In diesem Beispiel deklarieren wir eine LOOKANDFEEL-Konstante, die einen der folgenden gültigen Werte enthält: Metal, System, Pattern und GTK. Dieser Code funktioniert unter Eclipse und Netbeans.

import javax.swing.*; 
import java.awt.*;

public class LookAndFeelTest extends JFrame{

public LookAndFeelTest(){
//initialize lookandfeel
initLookAndFeel();
//Stellen Sie sicher, dass das Lernen angewendet wurde
JFrame.setDefaultLookAndFeelDecorated(true);

//Erstellen und konfigurieren Sie das Fenster
JFrame-Frame = new JFrame("SwingApp");
Komponenteninhalt = createComponents();
frame.getContentPane().add(contents, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

SwingUtilities.updateComponentTreeUI(Rahmen);
//Anzeigefenster
frame.pack();
frame.setVisible(true);
}

/*
* Geben Sie das zu verwendende Erscheinungsbild an, indem Sie
* die LOOKANDFEEL-Konstante
*/
final static String LOOKANDFEEL = "Metal";

public Komponente createComponents() {
JButton button = new JButton("Button");
JLabel label = new JLabel(LOOKANDFEEL);

JPanel-Bedienfeld = new JPanel(new GridLayout(0, 1));
panel.add(button);
panel.add(label);
panel.setBorder(BorderFactory.createEmptyBorder(30,30,10,30));

Rückgabefeld;
}

private static void initLookAndFeel() {
String lookAndFeel = null;

if(LOOKANDFEEL != null) {
switch(LOOKANDFEEL){
"Metal" box:lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
Nachlass;
"System":lookAndFeel = UIManager.getSystemLookAndFeelClassName();
Nachlass;
"Muster":lookAndFeel = "com.sun.java.swing.plaf.pattern.PatternLookAndFeel";
Nachlass;
box "GTK":lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
Nachlass;
}

try {
UIManager.setLookAndFeel(lookAndFeel);
}
catch (Ausnahme e) {
e.printStackTrace();
}
}
}

public static void main(String[] args) {
new LookAndFeelTest();
}
}
Output:
Look and Feel Metal GTK LookAndFeel

System

Wenn Sie das ursprüngliche Design Ihres Betriebssystems wie in diesem Beispiel beibehalten möchten, wird das Erscheinungsbild von Windows 7.

lookAndFeel = UIManager.getSystemLookAndFeelClassName(); 
Out:
Erscheinungsbild SystemLookAndFeel

Motif

lookAndFeel="com.sun.java.swing.plaf.motif.MotifLookAndFeel"; 
Out:
Look and Feel MotifLookAndFeel

Referenzen:
Oracle-Dokumentation: So legen Sie Look and Feel fest.
Developpez.net: Java GUI:Look & Fühlen