简体   繁体   中英

JavaFX Invocation Target Exception - Illegal State Exception target not set

My main class can't seem to find my fmxl file it seems but I'm pretty sure the pathing is correct. I don't understand what is happening.

Here is my main

public void start(Stage primaryStageObj) throws Exception{
        primaryStage = primaryStageObj;
       // System.out.println(getClass().getResource("/net/usikkert/kouchat/practice.fxml"));
        FXMLLoader loader2 = new FXMLLoader(getClass().getResource("/net/usikkert/kouchat/practice.fxml"));
        Parent root2 = loader2.load();
        System.out.println("controller set");
        LoginController loginController = loader2.getController();
        loginController.setArgumentParser(argumentParser);
        loginController.setSettings(settings);
        loginController.setUncaughtExceptionLogger(uncaughtExceptionLogger);
        primaryStage.setTitle("Flake");
        primaryStage.setScene(new Scene(root2, 250,439  ));
        primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("Perfect Version.png")));
        primaryStage.show();


        primaryStage.setResizable(false);
        primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
            @Override
            public void handle(WindowEvent e) {
                Platform.exit();
                System.exit( 0);
            }
        });
        primaryStage.setTitle("Flake");

The error I am receiving is

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.IllegalStateException: Location is not set.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2434)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
    at net.usikkert.kouchat.Main.start(Main.java:74)
    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 net.usikkert.kouchat.Main

The error at Main.java:74 is my loader call Parent root2 = loader2.load(); I don't understand what the error is caused by is my fxml file not able to be found?

That is the path of my project 这是我项目的路

Change:

 FXMLLoader loader2 = new FXMLLoader(getClass().getResource("/net/usikkert/kouchat/practice.fxml"));

to

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("practice.fxml"));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM