Stack Overflow em Português Asked by Igor Freitas on December 7, 2021
Estou com problema quando adiciono um botão JFX que está presente na biblioteca Jfoenix. Ao abrir meu documento FXML, ele direciona certinho para o SceneBuilder, e dentro dele, da para utilizar todos os itens contidos na biblioteca Jfoenix.
Porém quando eu executo meu programa pelo netbeans para que ele possa mostrar como está ficando ele da erro, o problema que ele só da erro quando adiciono qualquer item da biblioteca JFX .
No exemplo abaixo só tem um AnchorPane e um JFXbutton e ele apresenta os seguintes erros:
Copying 13 files to C:UsersIgorDocumentsNetBeansProjectsJavaFXApplication1distrun728892560 jfx-project-run: Executing C:UsersIgorDocumentsNetBeansProjectsJavaFXApplication1distrun728892560JavaFXApplication1.jar using platform C:Program FilesJavajdk1.8.0_151jre/bin/java Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$154(LauncherImpl.java:182) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.UnsupportedClassVersionError: com/jfoenix/controls/JFXButton has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:2916) at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:2905) at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2846) at javafx.fxml.FXMLLoader.processImport(FXMLLoader.java:2692) at javafx.fxml.FXMLLoader.processProcessingInstruction(FXMLLoader.java:2661) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2517) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) at javafxapplication1.JavaFXApplication1.start(JavaFXApplication1.java:22) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$161(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$174(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) ... 1 more Exception running application javafxapplication1.JavaFXApplication1 Java Result: 1 Deleting directory C:UsersIgorDocumentsNetBeansProjectsJavaFXApplication1distrun728892560 jfxsa-run: CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
Agradeço quem puder ajudar.
Desenterrando pergunta para referência futura:
O verdadeiro problema conforme o stack trace é a versão do Java:
Caused by: java.lang.UnsupportedClassVersionError: com/jfoenix/controls/JFXButton has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
No caso a versão em questão do Jfoenix requer o Java 9 (class file version 53.0
) e a aplicação estava rodando no Java 8 (52.0
).
Para uma lista completa de versões de classe veja os offsets 6 e 7 da tabela no seguinte artigo: Wikipedia - Java class file (em inglês).
Answered by Anthony Accioly on December 7, 2021
Você tem que adicionar a biblioteca dentro do netbeans. Vá em Arquivo, Propriedades do Projeto, Bibliotecas, Adicionar JAR/Pasta.
Vá em propriedades do projeto
Agora em Bibliotecas, click em Adicionar JAR/Pasta, selecione o .Jar do Jfoenix.
Click em Ok, agora é só reconstruir o projeto.
Referencia: https://github.com/jfoenixadmin/JFoenix/issues/62
Answered by Calebe Guimarães on December 7, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP