NativeJFileChooser icon indicating copy to clipboard operation
NativeJFileChooser copied to clipboard

Not working without JavaFX in classpath

Open Mingun opened this issue 3 years ago • 0 comments

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

Mingun avatar Jun 30 '21 06:06 Mingun