加载FXML文件时出现“需要位置”异常

胭脂红

我正在尝试加载FXML文件并将其显示为应用程序窗口,但出现异常。FXML文件是由FXML Scene Builder创建的。

这是班级的代码

public class Main extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setScene(FXMLLoader.load(getClass().getResource("sample.fxml")));
        primaryStage.show();
    }
}

和FXML文件

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.layout.AnchorPane?>
<TitledPane animated="false" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
            prefHeight="400.0" prefWidth="600.0" text="Pass4D" xmlns:fx="http://javafx.com/fxml/1"
            xmlns="http://javafx.com/javafx/8">
    <content>
        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
            <children>
                <Button layoutX="211.0" layoutY="134.0" mnemonicParsing="false" prefHeight="33.0" prefWidth="177.0"
                        text="Log in"/>
                <Button layoutX="212.0" layoutY="170.0" mnemonicParsing="false" prefHeight="33.0" prefWidth="175.0"
                        text="Exit"/>
            </children>
        </AnchorPane>
    </content>
</TitledPane>

这是我得到的例外

Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157)
    at com.sun.javafx.application.LauncherImpl$$Lambda$1/2074407503.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: Location is required.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3201)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3169)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3142)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3118)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3098)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3091)
    at Pass4D.start(Pass4D.java:19)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(LauncherImpl.java:821)
    at com.sun.javafx.application.LauncherImpl$$Lambda$51/317090070.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(PlatformImpl.java:323)
    at com.sun.javafx.application.PlatformImpl$$Lambda$47/1833150059.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292)
    at com.sun.javafx.application.PlatformImpl$$Lambda$49/2115863517.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291)
    at com.sun.javafx.application.PlatformImpl$$Lambda$48/1436737924.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

我究竟做错了什么?

ps这是项目结构

在此处输入图片说明

亚当

如果无法在运行时类路径(而不是当前目录等)上找到资源,则简短答案是静默getClass().getResource("sample.fxml")返回null

因此,这取决于您的IDE项目设置,如果您使用的是eclipse,请尝试添加sample.fxml运行配置中的文件夹

一些想法...

  • 尝试getClass().getResource("/sample.fxml")...
  • 尝试移至sample.fxml资源文件夹。我对您的IDE不太了解,但是我怀疑文件夹仅用于.java文件...对于eclipse中的gradle项目确实是正确的-资源必须在src/main/resources树中,因为只有添加到运行时类路径中的资源。 ..

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

加载FXML文件时出现“需要位置”异常

来自分类Dev

从另一个fxml文件的控制器加载fxml文件时,出现空点异常

来自分类Dev

加载 FXML 文件的 JavaFX 异常

来自分类Dev

映射后加载fxml时出现javafx应用程序异常的spring

来自分类Dev

需要位置参数PyPDF2

来自分类Dev

加载 fxml 时出现“javafx.fxml.LoadException”

来自分类Dev

在加载/需要时锁定文件

来自分类Dev

加载fxml时为什么会出现stackoverflow?

来自分类Dev

在图片框中加载tif文件时出现内存不足异常

来自分类Dev

在图片框中加载tif文件时出现内存不足异常

来自分类Dev

加载外部 RDF 或 Turtle 文件时出现 Apache Jena RIOT 异常

来自分类Dev

外部jar FXML加载异常

来自分类Dev

无法加载fxml文件

来自分类Dev

访问Excel文件时出现异常

来自分类Dev

加载Groovy文件时捕获异常

来自分类Dev

在JavaFX项目中加载fxml文件时出错

来自分类Dev

在JavaFX项目中加载fxml文件时出错

来自分类Dev

在主要位置上传文件,同时将同一文件读写到多个次要位置

来自分类Dev

加载js文件时出现404错误

来自分类Dev

加载js文件时出现404错误

来自分类Dev

加载json文件时出现Python错误

来自分类Dev

加载 javascript 文件时出现错误 502

来自分类Dev

加载与引用.NET DLL相同的文件夹中的引用的.NET DLL时出现“未找到”异常

来自分类Dev

使用 Mocha + webpack 测试单文件组件在 vuejs 上的单元测试中加载测试时出现 RUNTIME EXCEPTION 异常

来自分类Dev

在libgdx中加载纹理时出现Nullpointer异常

来自分类Dev

加载插件管理器时出现异常

来自分类Dev

Bitronix 交易在加载 mule 时出现异常

来自分类Dev

将 XML 加载到 Hive 时出现空指针异常

来自分类Dev

使用osmdroid获取当前位置时出现空指针异常

Related 相关文章

  1. 1

    加载FXML文件时出现“需要位置”异常

  2. 2

    从另一个fxml文件的控制器加载fxml文件时,出现空点异常

  3. 3

    加载 FXML 文件的 JavaFX 异常

  4. 4

    映射后加载fxml时出现javafx应用程序异常的spring

  5. 5

    需要位置参数PyPDF2

  6. 6

    加载 fxml 时出现“javafx.fxml.LoadException”

  7. 7

    在加载/需要时锁定文件

  8. 8

    加载fxml时为什么会出现stackoverflow?

  9. 9

    在图片框中加载tif文件时出现内存不足异常

  10. 10

    在图片框中加载tif文件时出现内存不足异常

  11. 11

    加载外部 RDF 或 Turtle 文件时出现 Apache Jena RIOT 异常

  12. 12

    外部jar FXML加载异常

  13. 13

    无法加载fxml文件

  14. 14

    访问Excel文件时出现异常

  15. 15

    加载Groovy文件时捕获异常

  16. 16

    在JavaFX项目中加载fxml文件时出错

  17. 17

    在JavaFX项目中加载fxml文件时出错

  18. 18

    在主要位置上传文件,同时将同一文件读写到多个次要位置

  19. 19

    加载js文件时出现404错误

  20. 20

    加载js文件时出现404错误

  21. 21

    加载json文件时出现Python错误

  22. 22

    加载 javascript 文件时出现错误 502

  23. 23

    加载与引用.NET DLL相同的文件夹中的引用的.NET DLL时出现“未找到”异常

  24. 24

    使用 Mocha + webpack 测试单文件组件在 vuejs 上的单元测试中加载测试时出现 RUNTIME EXCEPTION 异常

  25. 25

    在libgdx中加载纹理时出现Nullpointer异常

  26. 26

    加载插件管理器时出现异常

  27. 27

    Bitronix 交易在加载 mule 时出现异常

  28. 28

    将 XML 加载到 Hive 时出现空指针异常

  29. 29

    使用osmdroid获取当前位置时出现空指针异常

热门标签

归档