在javafx中发出加载图像的相对路径

时间:2016-03-25 09:48:57

标签: java image

我遇到arrow.png的相对路径问题。

我有以下目录设置:

--resources
  --arrow.png
  --Accounts.txt
--src
  --Main.java

在我的Main.java我试图像这样加载图片:

Image image = new Image("resources/arrow.png");

但是,我收到以下错误:

Invalid URL: Invalid URL or resource not found

令人惊讶的是,正如它上面的几行,我加载了另一个文件:

FileInputStream fstream = new FileInputStream("resources/Accounts.txt");

它有效..

我在哪里做错了?

3 个答案:

答案 0 :(得分:5)

只需替换此代码:

  

图片图片=新图片(" resources / arrow.png");

用这个

  

Image img = new Image(" file:resources / arrow.png");

答案 1 :(得分:3)

尝试:

Image image = new Image(this.getClass().getResource("resources/arrow.png"));

答案 2 :(得分:0)

您也可以使用ImageIO,我个人觉得使用起来比较简单:

img = ImageIO.read(new File("resources/arrow.png"));