我无法在Javafx中加载图像

时间:2017-01-03 17:51:55

标签: java image javafx imageview

我已经在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);

我希望有人可以提供帮助,谢谢

3 个答案:

答案 0 :(得分:1)

试试这个 .getResourceAsStream

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

getClass()。getResource(“...”)也让我在Netbeans中投入NPE。

答案 1 :(得分:0)

这一切都必须要做你的文件路径引用...

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

或类似可能有效

答案 2 :(得分:0)

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

尝试:

    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!");
    }

如果文件没有退出,请播放文件路径:文件文件=新文件(" src / img / YourFile.jpg");

如果文件退出,则其他提到的方法之一应该有效。