从项目文件夹内的文件加载图像

时间:2015-04-21 18:31:49

标签: java javafx

我正在尝试在不使用FileChooser的情况下从文件加载图像。 文件夹是:

TestProject
-src
--application
---(all_the_classes_i'm_using.java)
-assets
--drawIcon.png

我想在assets文件夹中加载图片。 我试过了:

Image image = new Image("../assets/drawIcon.png")
Image image = new Image(getClass().getResourceAsStream("../assets/drawIcon.png"))

我已尝试使用字符串路径“/TestProject/assets/drawIcon.png”,但没有。我不明白如何加载这个图像!

2 个答案:

答案 0 :(得分:10)

assets目录设置为资源目录,然后从位置加载图像作为资源" /drawIcon.png":

URL url = getClass().getResource("/drawIcon.png");
Image image = ImageIO.read(url);

如果你想创建一个javafx图像:

Image image = new Image("/drawIcon.png");

在这种情况下,还要将该文件夹标记为资源文件夹。

此处有更多信息:https://docs.oracle.com/javafx/2/api/javafx/scene/image/Image.html

答案 1 :(得分:2)

您可以使用getResource(path).toString(); 路径必须以/开头,并且以src文件夹中的verry first软件包开头。

Image img= new Image(getClass().getResource("/path/in/your/package/structure/icon.png").toString());