TransWikia.com

Problema com JavaFx

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.

2 Answers

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

inserir a descrição da imagem aqui

Agora em Bibliotecas, click em Adicionar JAR/Pasta, selecione o .Jar do Jfoenix.

inserir a descrição da imagem aqui 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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP