Java如何获得可用的Swing外观?

下面的代码段描述了如何在当前的Swing平台中获得可用的外观。然后可以使这些信息对用户可用,以便他们可以根据自己的喜好更改应用程序的外观。

package org.nhooo.example.swing;

import javax.swing.UIManager;

public class AvailableLookAndFeel {
    public static void main(String[] args) {
        UIManager.LookAndFeelInfo[] lookAndFeels = UIManager.getInstalledLookAndFeels();

        for (UIManager.LookAndFeelInfo lookAndFeel : lookAndFeels) {
            // 获取外观名称
            String name = lookAndFeel.getName();
            System.out.println("Name      = " + name);

            // 获取实现类的外观
            String className = lookAndFeel.getClassName();
            System.out.println("ClassName = " + className);
        }
    }
}

下面是上面的代码片段产生的可用外观的列表。

Name      = Metal
ClassName = javax.swing.plaf.metal.MetalLookAndFeel
Name      = Nimbus
ClassName = javax.swing.plaf.nimbus.NimbusLookAndFeel
Name      = CDE/Motif
ClassName = com.sun.java.swing.plaf.motif.MotifLookAndFeel
Name      = Windows
ClassName = com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Name      = Windows Classic
ClassName = com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel