我无法在javafx中加载图像

mum43rcc  于 2021-07-12  发布在  Java
关注(0)|答案(3)|浏览(382)

我在stackoverflow中读过很多关于这个的主题,但是他们的解决方案似乎都不适合我的问题。没有错误,只是一个空白的舞台,我不明白为什么。

public void titleView(Pane pane)
{
    Image img = new Image("file:test.png");

    ImageView title = new ImageView(img);
    title.setImage(img);
    title.setLayoutX(569);
    title.setLayoutY(146);
    title.fitHeightProperty().add(100);
    title.fitWidthProperty().add(100);
    title.setVisible(true);

    pane.getChildren().add(title);

    System.out.println("success!!!");        
}

这就是我的方法。“test.png”文件只是一个用油漆制作的红色100x100图片。它位于项目中,在我创建的一个文件夹中:res/textures/test.png我确实记得为它构建了路径

Pane pane = new Pane();
titleView(pane);

我希望有人能帮忙,谢谢

t1qtbnec

t1qtbnec1#

试试这个。getresourceasstream:

Image image = new Image(getClass().getResourceAsStream("pic.png"));
 title.setImage(image);

getclass().getresource(“…”)也会在netbeans中抛出npe。

vnzz0bqm

vnzz0bqm2#

这一切都与你的文件路径参考有关。。。

Image img = new Image(YourMainClassName.class.getClass().getResource("test.jpg").toString());

或者类似的方法也行

gfttwv5a

gfttwv5a3#

我经常碰到这个问题。我开始解决这个问题的方法是确保文件退出。很多时候基本上是一个错误的文件路径。
尝试:

File file = new File("YourFile.jpg");
    if(file.exists())
    {
        System.out.println("file exist!");//I would print file path here.
    }
    else
    {
        System.out.println("file does not exist!");
    }

如果文件没有退出,请使用文件路径:file file=new file(“src/img/yourfile.jpg”);
如果文件退出,其他提到的方法之一应该可以工作。

相关问题