diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index ae79de82..61ecf7db 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -191,8 +191,15 @@ public abstract class FlatLaf private BasicLookAndFeel getBase() { if( base == null ) { if( SystemInfo.IS_MAC ) { - base = (BasicLookAndFeel) UIManager.getLookAndFeel(); - } else { + // use Mac Aqua LaF as base + String aquaLafClassName = "com.apple.laf.AquaLookAndFeel"; + try { + base = (BasicLookAndFeel) Class.forName( aquaLafClassName ).getDeclaredConstructors()[0].newInstance(); + } catch( Exception ex ) { + LOG.log( Level.SEVERE, "FlatLaf: Failed to initialize base look and feel '" + aquaLafClassName + "'.", ex ); + throw new IllegalStateException(); + } + } else base = new MetalLookAndFeel(); } }