Image JavaFX创建图像和图像视图

Image JavaFX创建图像和图像视图,image,javafx,imageview,Image,Javafx,Imageview,坚持基本原则。我在设置图像路径时遇到一些语法问题。 当我尝试创建一个图像并给它一个图像路径时,它总是抛出一些关于路径的异常。我已经注释掉了一些我已经尝试过的路径组合。你能告诉我我做错了什么吗?多谢各位 包装jopofx public JoPoCTRL(JoPoFX gui){ this.gui = gui; } public void updateImages(){ Image img = null; try{ //img = new Image("

坚持基本原则。我在设置图像路径时遇到一些语法问题。 当我尝试创建一个图像并给它一个图像路径时,它总是抛出一些关于路径的异常。我已经注释掉了一些我已经尝试过的路径组合。你能告诉我我做错了什么吗?多谢各位

包装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)
Windows
平台上的javafx.scene.image.image.(image.java:538)

img = new Image("\\jopofx\\myimage.png");

然后,您可以使用以下方法创建ImageView:

ImageView imageView = new ImageView(img);
此外,您还可以通过以下方式直接初始化
图像视图
,而无需初始化
图像

ImageView imageView = new ImageView("/jopofx/myimage.png");

另外,确保您正在使用import
javafx.scene.image.image

在我发布问题后不久,我在一个博客上找到了一个工作示例。 希望此示例对某人有所帮助:

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);

谢谢你的回答ItachiUchiha。出于某种原因,这些语法中的任何一个都不起作用。我在/JoPoFX/src和JoPoFX/src/JoPoFX/文件夹中都有一个myimage.png文件。(最后一个是运行代码的文件夹)如果您有任何其他建议,我很高兴听到他们?谢谢,我忘了提了。我确实导入了javafx.scene.image.image;你好我想我找到了解决办法。我没有输入路径,而是要写“文件:\\C:users\\..…\\myimage.png。我的程序不再崩溃了,但我还不能使图像可见。因此,目前还无法确定这是否有效。为项目内部的图像添加绝对路径不是一个好主意。此外,如果您已将应用程序打包为
jar
,并尝试使用
文件:
加载映像,则会失败。我建议你发布一个项目结构的图片,这样我可以进一步帮助你。看起来我不能上传任何图片,因为我没有足够的“声誉”。这里是我上传项目结构图片的链接。-->在image/ImageView构造器中键入“file:\C:\…\myimage.png”时,我实际上从未获得显示图像的ImageView,但我确实通过键入上传照片的网站地址获得了显示图像的ImageView。但这不是我想要使用的最终解决方案。。。
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);