Вы не можете сделать это напрямую, поскольку Nimbus не поддерживает оформление окон, поэтому вы всегда получаете системное окно, даже с данными ответами.
Попробуйте этот очень простой код:
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
public class DoesNimbusSupportWindowDecorations {
@SuppressWarnings("unchecked")
public static void main(String... args) {
LookAndFeel nimbus = null;
for (LookAndFeelInfo lafInfo : UIManager.getInstalledLookAndFeels()) {
if (lafInfo.getName() == "Nimbus") {
try {
nimbus = ((Class<LookAndFeel>) Class.forName(
lafInfo.getClassName())).newInstance();
} catch (Exception e) {
System.err.println("Unexpected exception.");
}
}
}
if (nimbus != null) {
System.out.println("Nimbus supports window decorations...? "
+ (nimbus.getSupportsWindowDecorations() ? "YES" : "NO"));
} else {
System.err.println("Your system does not support Nimbus, you can't"
+ " run this test.");
}
}
}
или просто внутри вашего кода с правильным импортом:
System.out.println(new NimbusLookAndFeel().getSupportsWindowDecorations());
Что я не понимаю, так это то, почему Sun решила так сделать, поскольку украшения существуют для внутренних рам и имеют индивидуальные украшения. Я буду исследовать, можно ли использовать эти декорации, расширяя NimbusLookAndFeel или играя с настройками по умолчанию, поскольку Nimbus основан на Synth, не зная о лучшем способе.