坚持基础。我有一些设置图像路径的语法问题。 当我尝试创建一个图像并给它图像路径时,它总是抛出一些关于路径的例外。我已经评论了一些我已经尝试过的路径组合。你能告诉我我做错了什么吗?谢谢。
包jopofx;
public JoPoCTRL(JoPoFX gui){
this.gui = gui;
}
public void updateImages(){
Image img = null;
try{
//img = new Image("C:\\Users\\ ... //FullPath ... \\JoPoFX\\src\\jopofx\\myimage.png");
img = new Image("\\JoPoFX\\src\\jopofx\\myimage.png");
//img = new Image("\\src\\jopofx\\myimage.png");
//img = new Image("\\myimage.png");
}catch(Exception e){
System.out.println("error while creating image");
e.printStackTrace();
}
try{
gui.setImgV(img);
}catch(Exception e){
System.out.println("error while setting up the image");
}
}
打印出来的是: 创建图像时出错 java.lang.IllegalArgumentException:无效的URL:找不到无效的URL或资源 在javafx.scene.image.Image.validateUrl(Image.java:990) 在javafx.scene.image.Image。(Image.java:538)
答案 0 :(得分:1)
在Windows
平台上,放置在src/jopofx
内的图片:
img = new Image("\\jopofx\\myimage.png");
或
img = new Image("/jopofx/myimage.png");
然后您可以使用以下方法创建ImageView:
ImageView imageView = new ImageView(img);
此外,您还可以直接初始化ImageView
,而无需通过以下方式初始化Image
:
ImageView imageView = new ImageView("/jopofx/myimage.png");
另外,请确保使用导入javafx.scene.image.Image;
答案 1 :(得分:0)
在我发布问题后,我在博客中发现了一个工作示例。 希望这个例子对某人有所帮助:
InputStream stream = getClass().getResourceAsStream("images/"+imageName+".jpg");
//"images/" is the a local directory where all my images are located
Image newImage = new Image(stream);
imgV.setImage(newImage);