From 3bf09ee731159be52b918b1367f318d8d2fcc616 Mon Sep 17 00:00:00 2001 From: Bill Culp Date: Tue, 11 Feb 2020 15:00:28 -0800 Subject: [PATCH] fix #60 Illegal reflective access operation on mac --- .../src/main/java/com/formdev/flatlaf/FlatLaf.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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(); } }