如何自定义Nimbus外观中的组件图像?我想在photoshop和地方创建图像 在一些Nimbus外观和感觉组件上,这些是我想要改变的组件:
ScrollBar按钮 旋钮滚动条 Thumb ScrollBar ScrollBar Track
谢谢!
答案 0 :(得分:1)
nimbus的最佳资源是Oracle网站本身here。然而,它主要概述了通过api自定义主题,并允许通过xml以一种有限的方式自定义组件,以引用另一篇文章
要访问和修改您引用的元素,这是一个有用的资源here,然后您可以调用ui管理器以这样的方式应用您希望的任何修改:
UIManager.put("nimbusBase", new Color(...));
UIManager.put("nimbusBlueGrey", new Color(...));
UIManager.put("control", new Color(..
再次提供了一个有用的链接here,详细介绍了你的ui。
关于使用图片修改主题还有很长的帖子 here,但Imo最好的选择是遵循本指南which outlines the xml format for plaf.synth,它允许加载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();
}
}
可提供完整的样本here