Die unten Antwort ist durch @Stijn mit der Änderung in der Initialisierung Ansatz ist eine Erweiterung der vorherigen Antwort, wie empfohlen in der Arzt. Unter Angabe der Links nimbuslaf und swing tutorials - size
Version Hinweis: Stellen Sie den Nimbus Look and Feel explizit durch die UIManager.setLookAndFeel Methode aufgerufen, weil nicht alle Versionen oder Implementierungen von Java SE 6 Unterstützung Nimbus. Darüber hinaus wurde der Speicherort des Nimbus-Pakets zwischen den Releases JDK 6 Update 10 und JDK 7 von geändert. Iteration durch alle installierten Look and Feel Implementierungen ist ein robuster Ansatz, denn wenn Nimbus nicht verfügbar ist, wird das Standard-Look & Feel verwendet.
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.
}
Datei: 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);
}
}
Ok, danke für deinen Rat, aber wenn es nicht einfach Art und Weise ist, dass in Nimbus zu erreichen (ohne 3rd-Party-Bibliotheken wie JXLayer zu verwenden) - Ich muss nach anderem suchen. Irgendwelche (frei für kommerzielle Nutzung) Empfehlung? –