有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX:IllegalStateException:需要位置

我正在尝试为我的应用加载一个FXML,就像在另一个项目中一样。区别:不起作用。我得到一个“非法状态例外:需要位置”

我试图将文件移动到其他位置,但也没有成功。 我用调试器检查了URL(tmp)。它指向正确的文件

    URL tmp = getClass().getClassLoader().getResource("FXMLDocument.fxml");
    FXMLLoader baseLoader = new FXMLLoader(tmp);
    Parent root = baseLoader.load();
    Scene scene = new Scene(root);        
    stage.setScene(scene);
    stage.show();

共 (2) 个答案

  1. # 1 楼答案

    请更换:

    URL tmp = getClass().getClassLoader().getResource("FXMLDocument.fxml");
    

    URL tmp = getClass().getResource("FXMLDocument.fxml");
    
  2. # 2 楼答案

    实际导致问题的代码不是问题中的代码

    事实证明

    URL tmp = getClass().getResource("FXMLDrawerMain.fxml");
    

    出于任何原因返回null。(可能是操作系统?)

    我把它换成了

    URL tmp = getClass().getClassLoader().getResource("FXMLDrawerMain.fxml");
    

    现在一切都好了