JavaFX,图像对象在声明后显示为null?

JavaFX,图像对象在声明后显示为null?,java,image,null,imageview,Java,Image,Null,Imageview,以下是给我带来麻烦的方法: private static final String theURL = "/optimize/images/prun0.png"; public static void createChallenge() { Stage challStage = new Stage(); Group challGroup = new Group(); Rectangle rect = new Rectangle(900,

以下是给我带来麻烦的方法:

    private static final String theURL = "/optimize/images/prun0.png";

    public static void createChallenge() {
       Stage challStage = new Stage();
       Group challGroup = new Group();
       Rectangle rect = new Rectangle(900, 500);
       Image image = new Image(theURL);
       System.out.println(image.getHeight()); //Prints 0.0
       rect.setFill(new ImagePattern(image)); //Gives runtime error: "Image must be non-null"
       challStage.setResizable(false);
       challStage.setTitle("Optimize!");
       //ImageView iv = new ImageView(image);
       challGroup.getChildren().add(rect);
       Scene challScene = new Scene(challGroup, 900, 500);
       challStage.setScene(challScene);
       challStage.setMinHeight(500);
       challStage.setMinWidth(900);        
       challStage.show();
       challStage.centerOnScreen();
       challStage.setX(challStage.getX()-150);
   }

正如它所说的,它抛出了一个关于映像为null的运行时错误。我缺少一些基本的东西吗?此外,这里的最终目标是将图像放到舞台或场景上。我试着简单地将ImageView对象添加到已定义的challGroup中,但该阶段出现了空白。因此,我尝试将图像添加到矩形对象中,发现了实际的运行时错误。我已经三次检查了网址。我还尝试使用“file:prun0.png”获得类似的结果。任何建议都将不胜感激。谢谢大家