[英]Javafx ExceptionInInitializerError
The previous posts that I have seen haven't worked for me. 我以前看过的帖子对我没有用。 Is the error because I haven't used any fxml loader. 是错误原因,因为我没有使用过任何fxml加载程序。 But it didn't work in any fxml file. 但是它在任何fxml文件中均不起作用。 Can you help me find the error and link me some resources to better understand all the errors similar to this. 您能帮我找到错误并链接一些资源以更好地了解与此类似的所有错误吗? I keep getting similar errors. 我不断收到类似的错误。 Thanks in advance. 提前致谢。
My Main.java 我的Main.java
package sample;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
import javafx.animation.TranslateTransition;
import javafx.scene.*;
import javafx.util.Duration;
import java.awt.event.ActionEvent;
public class Main extends Application {
private final static javafx.scene.image.Image tree1 = new javafx.scene.image.Image(Main.class.getResource("/images/Tree-1.png").toString());
private final static javafx.scene.image.Image tree2 = new javafx.scene.image.Image(Main.class.getResource("/images/2.png").toString());
private final static javafx.scene.image.Image tree3 = new javafx.scene.image.Image(Main.class.getResource("/images/3.png").toString());
private final static javafx.scene.image.Image tree4 = new javafx.scene.image.Image(Main.class.getResource("/images/4.png").toString());
private final static javafx.scene.image.Image tree5 = new javafx.scene.image.Image(Main.class.getResource("/images/5.png").toString());
private final static javafx.scene.image.Image tree6 = new javafx.scene.image.Image(Main.class.getResource("/images/6.png").toString());
private final static javafx.scene.image.Image tree7 = new javafx.scene.image.Image(Main.class.getResource("/images/7.png").toString());
private final static javafx.scene.image.Image tree8 = new javafx.scene.image.Image(Main.class.getResource("/images/8.png").toString());
private Group tree;
@Override
public void start(Stage primaryStage) throws Exception{
final ImageView t1 = new ImageView(tree1);
final ImageView t2 = new ImageView(tree2);
final ImageView t3 = new ImageView(tree3);
final ImageView t4 = new ImageView(tree4);
final ImageView t5 = new ImageView(tree5);
final ImageView t6 = new ImageView(tree6);
final ImageView t7 = new ImageView(tree7);
final ImageView t8 = new ImageView(tree8);
tree= new Group(t1);
tree.setTranslateX(200);
tree.setTranslateY(220);
Timeline t = new Timeline();
t.setCycleCount(Timeline.INDEFINITE);
t.getKeyFrames().add(new KeyFrame(
Duration.millis(200),
event ->{
tree.getChildren().setAll(t2);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(300),
event ->
{
tree.getChildren().setAll(t3);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(400),
event ->
{
tree.getChildren().setAll(t4);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(500),
event ->
{
tree.getChildren().setAll(t5);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(600),
event ->
{
tree.getChildren().setAll(t6);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(700),
event ->
{
tree.getChildren().setAll(t7);
}));
t.getKeyFrames().add(new KeyFrame(
Duration.millis(800),
event ->
{
tree.getChildren().setAll(t8);
}));
t.play();
primaryStage.setScene(new Scene(tree,700,800));
primaryStage.setTitle("Learning Animation");
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
launch(args);
}
}
ERROR: 错误:
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-
javaagent:C:\Users\Eli\AppData\Roaming\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\lib\idea_rt.jar=7355:C:\Users\Eli\AppData\Roaming\JetBrains\IntelliJ IDEA Community Edition 2018.1.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;F:\pomodoro\out\production\pomodoro" sample.Main
Exception in thread "JavaFX Application Thread" Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplicationWithArgs$156(LauncherImpl.java:352)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(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$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at sample.Main.<clinit>(Main.java:21)
... 11 more
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 sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.NullPointerException
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:383)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
This happens because in this line 发生这种情况是因为在这一行
private final static javafx.scene.image.Image tree1 = new javafx.scene.image.Image(Main.class.getResource("/images/Tree-1.png").toString());
you referring to the path, which default FX loader could not find 您指的是默认FX加载程序找不到的路径
you should check where you are storing your images, but here example structure, which is work perfectly 您应该检查图像的存储位置,但是这里是示例结构,可以很好地工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.