diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatFileChooserUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatFileChooserUI.java index 9ed9e909..6b4a749f 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatFileChooserUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatFileChooserUI.java @@ -275,7 +275,10 @@ public class FlatFileChooserUI private boolean doNotUseSystemIcons() { // Java 17 32bit craches on Windows when using system icons - return SystemInfo.isWindows && SystemInfo.isJava_17_orLater && !SystemInfo.isX86_64; + // fixed in Java 18+ (see https://bugs.openjdk.java.net/browse/JDK-8277299) + return SystemInfo.isWindows && + SystemInfo.isX86 && + (SystemInfo.isJava_17_orLater && !SystemInfo.isJava_18_orLater); } //---- class FlatFileView ------------------------------------------------- diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java index 107bb626..406ae9fa 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemInfo.java @@ -52,6 +52,7 @@ public class SystemInfo public static final boolean isJava_11_orLater; public static final boolean isJava_15_orLater; /** @since 2 */ public static final boolean isJava_17_orLater; + /** @since 2 */ public static final boolean isJava_18_orLater; // Java VMs public static final boolean isJetBrainsJVM; @@ -93,6 +94,7 @@ public class SystemInfo isJava_11_orLater = (javaVersion >= toVersion( 11, 0, 0, 0 )); isJava_15_orLater = (javaVersion >= toVersion( 15, 0, 0, 0 )); isJava_17_orLater = (javaVersion >= toVersion( 17, 0, 0, 0 )); + isJava_18_orLater = (javaVersion >= toVersion( 18, 0, 0, 0 )); // Java VMs isJetBrainsJVM = System.getProperty( "java.vm.vendor", "Unknown" )