sshahine / JFoenix

JavaFX Material Design Library
MIT License
6.27k stars 1.05k forks source link

Cannot use JFXTextField in Java14 #1135

Closed gy0801151351 closed 3 years ago

gy0801151351 commented 3 years ago

It seems that there may be some illegal reflective access. Below is the stacktrace.

java.lang.IllegalAccessException: class com.jfoenix.skins.JFXTextFieldSkin cannot access a member of class javafx.scene.control.skin.TextFieldSkin with modifiers "private" at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:376) at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:647) at java.base/java.lang.reflect.Field.checkAccess(Field.java:1073) at java.base/java.lang.reflect.Field.get(Field.java:414) at com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152) at com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70) at com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:121) at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70) at com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:70) at javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Node.processCSS(Node.java:9542) at javafx.scene.Scene.doCSSPass(Scene.java:569) at javafx.scene.Scene.preferredSize(Scene.java:1781) at javafx.scene.Scene$2.preferredSize(Scene.java:393) at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) at javafx.stage.Window$12.invalidated(Window.java:1086) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.stage.Window.setShowing(Window.java:1174) at javafx.stage.Window.show(Window.java:1189) at javafx.stage.Stage.show(Stage.java:273) at com.numerology.agent.app.NumerologyManagementApplication.show(NumerologyManagementApplication.java:33) at com.numerology.agent.app.NumerologyManagementApplication.start(NumerologyManagementApplication.java:25) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:832) java.lang.IllegalAccessException: class com.jfoenix.skins.JFXTextFieldSkin cannot access a member of class javafx.scene.control.skin.TextFieldSkin with modifiers "private" at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:376) at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:647) at java.base/java.lang.reflect.Field.checkAccess(Field.java:1073) at java.base/java.lang.reflect.Field.get(Field.java:414) at com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152) at com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70) at com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:121) at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70) at com.jfoenix.controls.JFXPasswordField.createDefaultSkin(JFXPasswordField.java:63) at javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.scene.Node.processCSS(Node.java:9542) at javafx.scene.Scene.doCSSPass(Scene.java:569) at javafx.scene.Scene.preferredSize(Scene.java:1781) at javafx.scene.Scene$2.preferredSize(Scene.java:393) at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) at javafx.stage.Window$12.invalidated(Window.java:1086) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.stage.Window.setShowing(Window.java:1174) at javafx.stage.Window.show(Window.java:1189) at javafx.stage.Stage.show(Stage.java:273) at com.numerology.agent.app.NumerologyManagementApplication.show(NumerologyManagementApplication.java:33) at com.numerology.agent.app.NumerologyManagementApplication.start(NumerologyManagementApplication.java:25) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:832) Exception in Application start method Exception in thread "main" java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:832) Caused by: java.lang.NullPointerException at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos(JFXTextFieldSkin.java:109) at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren(JFXTextFieldSkin.java:93) at javafx.scene.control.Control.layoutChildren(Control.java:601) at javafx.scene.Parent.layout(Parent.java:1207) at javafx.scene.Parent.layout(Parent.java:1214) at javafx.scene.Parent.layout(Parent.java:1214) at javafx.scene.Scene.doLayoutPass(Scene.java:576) at javafx.scene.Scene.preferredSize(Scene.java:1784) at javafx.scene.Scene$2.preferredSize(Scene.java:393) at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) at javafx.stage.Window$12.invalidated(Window.java:1086) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.stage.Window.setShowing(Window.java:1174) at javafx.stage.Window.show(Window.java:1189) at javafx.stage.Stage.show(Stage.java:273) at com.numerology.agent.app.NumerologyManagementApplication.show(NumerologyManagementApplication.java:33) at com.numerology.agent.app.NumerologyManagementApplication.start(NumerologyManagementApplication.java:25) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ... 1 more

jfoenixadmin commented 3 years ago

which version of JFoenix are you using?

gy0801151351 commented 3 years ago

9.0.8

skiunke commented 3 years ago

Same issue on 9.0.8

jfoenixadmin commented 3 years ago

try using the latest version 9.0.10

gy0801151351 commented 3 years ago

OK, I tried. It works fine. thx!

skiunke commented 3 years ago

Version should be upgraded in the Build tab, duo to the bug fix