如何自定义Nimbus外观中组件的图像?我想在photoshop和place中创建图像在一些Nimbus外观组件上,这些是我想要更改的组件:
滚动条按钮旋钮滚动条拇指滚动条滚动条轨迹
谢谢!
nimbus的最佳资源是Oracle网站本身。然而,它主要概述了通过api定制主题,并允许以一种有点受限的方式通过xml在程序之外定制组件
对于访问和修改您引用的元素,这是一个有用的资源,然后您可以调用ui管理器,以如下方式应用您想要的任何修改:
UIManager.put("nimbusBase", new Color(...));
UIManager.put("nimbusBlueGrey", new Color(...));
UIManager.put("control", new Color(..
这里还有一个有用的链接,可以更详细地介绍如何将颜色等应用于你的ui。
这里也有关于使用图像修改主题的长文,但Imo你最好遵循这本指南,它概述了plaf.synth的xml格式,它允许纯粹为可定制的主题加载xml,因此非常适合使用photoshop:的人
<style id="buttonStyle">
<insets top="15" left="20" right="20" bottom="15"/>
<state>
<imagePainter method="buttonBackground" path="images/button.png"
sourceInsets="10 10 10 10"/>
</state>
</style>
<bind style="buttonStyle" type="region" key="button"/>
并获得您的主题资源:
private static String synthFile = "buttonSkin.xml";
private static void initLookAndFeel() {
// String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
SynthLookAndFeel lookAndFeel = new SynthLookAndFeel();
try {
lookAndFeel.load(SynthApplication.class.getResourceAsStream(synthFile),
SynthApplication.class);
UIManager.setLookAndFeel(lookAndFeel);
}
catch (Exception e) {
System.err.println("Couldn't get specified look and feel ("
+ lookAndFeel
+ "), for some reason.");
System.err.println("Using the default look and feel.");
e.printStackTrace();
}
}
完整样本可在此处获得