下面的答案是以前的答案被@Stijn與變化在初始化的方法是的延伸,在推薦文件。引用鏈接nimbuslaf和swing tutorials - size
版本注:不要設置Nimbus的外觀和通過調用UIManager.setLookAndFeel方法明確地感覺到,因爲不是所有版本 或Java SE 6的支持雨雲的實現。此外,Nimbus軟件包的 位置在JDK 6 Update 10和 JDK 7版本之間進行了更改。遍歷所有已安裝的外觀和感覺 實現是一種更穩健的方法,因爲如果Nimbus不是 可用,則使用默認外觀和感覺。
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
try {
Constructor c = Class.forName("MyStyleFactory").getConstructor(String.class);
c.newInstance("small"); // regular, mini, small or large
} catch (ExceptionInInitializerError eiie){
//
} catch (LinkageError le){
//
} catch (ClassNotFoundException cnfe){
//
}
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
文件:MyStyleFactory.java
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);
}
}
好,感謝您的諮詢,但如果沒有簡單的方法來實現,在靈氣(不使用第三方庫像JXLayer) - 我必須尋找其他拉夫。任何(免費用於商業用途)推薦? – 2012-04-04 06:51:10