我正在寻找是否有可能改变Nimbus外观中所有组件的全局大小。
有tutorial用于重新调整组件大小;但不适用于所有组件。
我发现了这样的事情: http://www.jasperpotts.com/blog/2007/12/nimbus-large-small-mini-components/
2008年11月6日上午11:29对不起Matt没有全球设置 尺寸,这也是我们可以考虑添加的东西 明智的。
但这篇文章来自几年前,也许有些事情发生了变化。有什么想法吗?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
可以这样做:
UIManager.setLookAndFeel(new NimbusLookAndFeel());
final SynthStyleFactory styleFactory = SynthLookAndFeel.getStyleFactory();
SynthLookAndFeel.setStyleFactory(new SynthStyleFactory() {
@Override
public SynthStyle getStyle(JComponent c, Region id) {
c.putClientProperty("JComponent.sizeVariant", "large");
return styleFactory.getStyle(c, id);
}
});
答案 2 :(得分:0)
以下答案是@Stijn对前一个答案的扩展,其中的更改是在doc中建议的初始化方法中。引用链接nimbuslaf和swing tutorials - size
版本说明 :不要通过调用UIManager.setLookAndFeel方法明确设置Nimbus外观,因为并非所有版本 或Java SE 6的实现支持Nimbus。另外, Nimbus软件包的位置在JDK 6 Update 10和 JDK 7发布。迭代所有已安装的外观 实现是一种更强大的方法,因为如果不是Nimbus 可用,使用默认外观。
public class MyStyleFactory extends SynthStyleFactory {
protected static String variant = "regular";
final SynthStyleFactory styleFactory = SynthLookAndFeel.getStyleFactory();
static {
SynthLookAndFeel.setStyleFactory(new MyStyleFactory(variant));
}
public MyStyleFactory(String variant) {
if (variant.equals("regular") || variant.equals("mini")
|| variant.equals("small") || variant.equals("large"))
MyStyleFactory.variant = variant;
}
@Override
public SynthStyle getStyle(JComponent c, Region id) {
c.putClientProperty("JComponent.sizeVariant", variant);
return styleFactory.getStyle(c, id);
}
}
文件:MyStyleFactory.java
Drive.DriveApi.newDriveContents(getGoogleApiClient()).setResultCallback(driveContentsCallback);