NativeJFileChooser
NativeJFileChooser copied to clipboard
Not working without JavaFX in classpath
Check of presence of JavaFX is useless because you directly depend on the JavaFX classes. NativeJFileChooser won't be loaded at runtime. Fox example, in Java 14 environment:
--- exec-maven-plugin:3.0.0:exec (default-cli) @ Test ---
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/stage/DirectoryChooser
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3244)
at java.base/java.lang.Class.getDeclaredMethod(Class.java:2551)
at java.desktop/java.awt.Component.isCoalesceEventsOverriden(Component.java:6321)
at java.desktop/java.awt.Component$3.run(Component.java:6275)
at java.desktop/java.awt.Component$3.run(Component.java:6273)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at java.desktop/java.awt.Component.checkCoalescing(Component.java:6272)
at java.desktop/java.awt.Component.<init>(Component.java:6241)
at java.desktop/java.awt.Container.<init>(Container.java:296)
at java.desktop/javax.swing.JComponent.<init>(JComponent.java:598)
at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:347)
at java.desktop/javax.swing.JFileChooser.<init>(JFileChooser.java:295)
at li.flor.nativejfilechooser.NativeJFileChooser.<init>(NativeJFileChooser.java:86)
at test.JFileChooserWithProps.main(JFileChooserWithProps.java:89)
Caused by: java.lang.ClassNotFoundException: javafx.stage.DirectoryChooser
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 15 more