JavaFX 创建图像和 ImageView

JavaFX Creating an Image and ImageView

坚持基础知识。我在设置图像路径时遇到一些语法问题。 当我尝试创建一个图像并为其提供图像路径时,它总是会抛出一些关于路径的异常。我已经注释掉了一些我已经尝试过的路径组合。你能告诉我我做错了什么吗?谢谢。

打包 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)

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;

我在发布问题后不久从博客中找到了一个有效示例。 希望这个例子对某人有帮助:

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