当前位置: 首页 > 知识库问答 >
问题:

JavaFX调用目标异常-未设置非法状态异常目标

咸星波
2023-03-14

我的主类似乎找不到我的 fmxl 文件,但我很确定路径是正确的。我不明白发生了什么。

这里是我的主要

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");

我收到的错误是

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

Main.java:74 的错误是我的加载程序调用父根 2 = loader2.load();我不明白错误是由找不到我的fxml文件引起的?

共有1个答案

商曦
2023-03-14

更改:

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

FXMLLoader loader2 = new FXMLLoader(getClass().getResource("practice.fxml"));
 类似资料:
  • 我有代码: 这是我的项目结构:https://imgur.com/a/5ipF1 这是我的错误消息: 这很奇怪,因为在我将Gradle添加到项目之前它就起作用了。添加Gradle后,我不得不将“src”备注为“源根”。 此结构是智能为 JavaFX 项目生成的基本结构。 有什么想法吗?

  • 我在MediaCodec上得到了非法状态例外。configure()行,我正在尝试使用MediaCodec录制音频。这只发生在一些手机上,在标签上一切正常。这个特别的碰撞示例来自三星Galaxy S4。异常跟踪: 音频格式声明: 音频编码器初始化: 有人知道那可能是什么吗?奇怪的是,它只发生在某些设备上。欢迎提出任何建议!

  • 我最近安装了时髦。 现在,当我运行groovysh命令时,我得到了错误: 此外,当groovyConsole以奇怪的方式运行时:- 我认为非法反射访问警告可能是由于与jdk 11的兼容性问题。这是否意味着我将无法使用jdk 11进行groovy?有没有人遇到过类似的问题?我该如何解决这个问题? 编辑:我刚刚安装了java 9。我在groovysh和groovyConsole命令上得到了完全相同的错

  • 我正在尝试使用下面的快速加载API 连接…等是完美的。 我确切地知道它在哪里失败 例外情况是 < code >线程“main”Java . lang . illegalstateexception中出现异常:示例失败。 这是我试图上传的表格。它是格式,当我通过记事本打开它时,它看起来像这样 为什么我会得到这个异常?我该如何改进?据我理解问题是< code > pstmtfld . setascii

  • 我正在从事JavaFX项目,我创建了两个FXML文件,我想将另一个窗格加载到主窗格,即边框窗格。我想将另一个窗格加载到边框窗格中心区域! 这是我的项目的切入点,这是一个Java文件 之后,将显示显示“我的边框”窗格的主FXML文件 我设置了一个按钮,将特定窗格显示到边框窗格中心区域。 这是我的控制器类的边界窗格包含类 这是我想显示在边界窗格中心区域的FXML文件。 但是当我点击按钮,给我一堆错误!

  • 问题内容: 如何将轮询线程传递给另一个线程进行处理。程序执行在具有主方法和线程池的控制器类中: 主类控制器 具有轮询类的线程的方法 具有proc类的线程的方法 轮询类和控制器类 我的任务和问题是: 1.控制器应同时处理轮询器和处理器线程,并且应仅调用轮询器和处理器线程 2.现在我的问题是如何使轮询线程等待3秒并并行通知处理器。 我得到如下错误: 这里如何实现异步处理? 问题答案: 你需要阅读的东西