Skip to content

Incompatibilities between JFoenix 9.0.8 and OpenJFX 12 / OpenJDK 12 (JFXDatePicker, JFXTimePicker) #966

Open
@andre-schneider-fraunhofer

Description

I found two incompatibilities between JFoenix 9.0.8 and OpenJFX 12. I have trouble at least with two classes: JFXDatePicker and JFXTimePicker. Both classes use ReflectionHelper in order to access ?private? members of the super classes DatePicker and TimePicker from the javafx.scene.controls package.

I guess there are a few changes in OpenJDK 12 as well as OpenJFX 12 and now the JFoenix implementation has to be adapted.

Problem #1: JFXDatePicker line 84, NullPointerException while accessing the private "editor" field from the parent class.

Problem #2: JFXTimePicker ... see exception below ...

Exception in thread "JavaFX Application Thread" java.lang.InternalError: java.lang.IllegalAccessException: class com.jfoenix.adapters.ReflectionHelper cannot access a member of class javafx.scene.control.skin.ComboBoxPopupControl (in module javafx.controls) with modifiers ""
	at com.jfoenix.adapters.ReflectionHelper.invoke(ReflectionHelper.java:62)
	at com.jfoenix.skins.JFXGenericPickerSkin.removeParentPopupHandlers(JFXGenericPickerSkin.java:140)
	at com.jfoenix.skins.JFXGenericPickerSkin.<init>(JFXGenericPickerSkin.java:91)
	at com.jfoenix.skins.JFXTimePickerSkin.<init>(JFXTimePickerSkin.java:53)
	at com.jfoenix.controls.JFXTimePicker.createDefaultSkin(JFXTimePicker.java:92)
	at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
	at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
	at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
	at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9540)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9533)
	at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
	at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2477)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:562)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:542)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:535)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:341)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
	at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.IllegalAccessException: class com.jfoenix.adapters.ReflectionHelper cannot access a member of class javafx.scene.control.skin.ComboBoxPopupControl (in module javafx.controls) with modifiers ""
	at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:355)
	at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:639)
	at java.base/java.lang.reflect.Method.invoke(Method.java:559)
	at com.jfoenix.adapters.ReflectionHelper.invoke(ReflectionHelper.java:60)
	... 29 more

Are there any ideas how I can solve the problems or are there any work-arounds?

Thanks,
André

Metadata

Metadata

Assignees

No one assigned

    Labels

    JDK 12Java 12 compatibility issueswontfix

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions