Nimbus Look and Feel
Nimbus 是在 Java SE 6 Update 10(6u10)发行版中引入的优美的跨平台外观。以下 SwingSet3 的屏幕截图显示了 Nimbus 的外观。
Nimbus 使用 Java 2D 矢量图形绘制用户interface(UI),而不是静态位图,因此可以以任何分辨率清晰地呈现 UI。
Nimbus 是高度可定制的。您可以按原样使用 Nimbus 的外观,也可以使用自己的品牌对外观(自定义)外观。
启用 Nimbus 外观
为了向后兼容,Metal 仍然是默认的 Swing 外观,但是您可以通过以下三种方式之一更改为 Nimbus:
- 在创建图形用户interface(GUI)之前,将以下代码添加到事件分发线程:
import javax.swing.UIManager.*;
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
第一行代码检索该平台所有已安装外观实现的列表,然后遍历该列表以确定 Nimbus 是否可用。如果是这样,则将 Nimbus 设置为外观。
Version Note:
不要通过调用UIManager.setLookAndFeel
方法来明确设置 Nimbus 的外观,因为不是 Java SE 6 的所有版本或实现都支持 Nimbus。此外,Nimbus 软件包的位置在 JDK 6 Update 10 和 JDK 7 版本之间发生了变化。遍历所有已安装的外观实现是一种更可靠的方法,因为如果 Nimbus 不可用,则使用默认外观。对于 JDK 6 Update 10 发行版,Nimbus 软件包位于com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
。
- 在命令行上将 Nimbus 指定为特定应用程序的默认外观,如下所示:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel MyApp
- 通过将以下行添加到
<JAVA_HOME>/lib/swing.properties
文件中,永久设置 Nimbus 的默认外观:
swing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel
如果swing.properties
文件尚不存在,则需要创建它。