我正在尝试在不使用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”,但没有。我不明白如何加载这个图像!
答案 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());