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”获得类似的结果。任何建议都将不胜感激。谢谢大家请参阅,也可以考虑,我实际上尝试过用一些不同的图片在IVIEVIEW API中复制逐字逐句粘贴。屏幕上一片空白:(算出了,记下了一个非常愚蠢的错误。我用感叹号将Netbeans项目命名为“Optimize!”。当它去获取文件时,该字符可能在地址中绊倒了它。问题解决了。感谢您早些时候的回答!