Swing - Nimbus Look and Feel Setting
2020-12-13 06:05
标签:des style blog http color java 使用 io 在Java 6中Swing新增了一种界面风格-Nimbus,类名为com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel。 在Java 7更新之后,Nimbus风格的实现类移动到了javax.swing.plaf.nimbus.NimbusLookAndFeel,同时为了向后兼容,com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel纯粹直接继承自javax.swing.plaf.nimbus.NimbusLookAndFeel。 在正常情况下,我们可以使用以下方式来设置Nimbus风格(官方写法,这种写法在没有Nimbus支持的Java 5中就不会设置Nimbus,不至于引起报错): 这个设置本没有任何问题,但是当我们需要修改Nimbus的一些默认设置时,比如将整体风格的背景色设置为白色,我们会首先想到使用UIManger.put("background", Color.WHITE),但是很遗憾Nimbus对这种常规设置的支持有缺陷——不响应。经过四处查询解决方案,发现通过以下方式可以成功的设置Nimbus的一些设置(这种写法在Java 5中会报错,找不到类): 将代码片段2放在一个新的类的一个方法中,并将代码片段1中的行UIManager.setLookAndFeel(info.getClassName());替换为这个新方法,在Java 6中编译后,在Java 5中也可以运行,不会设置Nimbus风格也不会报错。 将上面的设置Nimbus风格的代码放在一个方法中,SwingTool.setNimbusLookAndFeel()。 在Desktop模式下,在main()方法的第一句话加入: 而在Applet的启动方法init()的最后位置加上以下代码: 请注意,Applet模式下一定要将上述代码放在init()方法的最后,放在方法开头是不生效的 Swing - Nimbus Look and Feel Setting,搜素材,soscw.com Swing - Nimbus Look and Feel Setting 标签:des style blog http color java 使用 io 原文地址:http://www.cnblogs.com/alanzyy/p/3894627.htmlSwing - Nimbus Look and Feel Setting
一、Java 6和Java 7中设置Nimbus风格
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修改默认设置的Bug和改进方案
UIManager.setLookAndFeel(new NimbusLookAndFeel() {
@Override
public UIDefaults getDefaults() {
UIDefaults defaults = super.getDefaults();
defaults.put("background", Color.WHITE);
defaults.put("ScrollBar.width", 10);
return defaults;
}
});
三、Desktop和Applet模式下的设置
SwingTool.setNimbusLookAndFeel()
SwingTool.setNimbusLookAndFeel();
SwingUtilities.updateComponentTreeUI(this);
文章标题:Swing - Nimbus Look and Feel Setting
文章链接:http://soscw.com/essay/32387.html