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

Ast*_*nog 7 java javafx

我正在尝试从文件加载图像而不使用FileChooser.文件夹是:

TestProject
-src
--application
---(all_the_classes_i'm_using.java)
-assets
--drawIcon.png
Run Code Online (Sandbox Code Playgroud)

我想在assets文件夹中加载图像.我试过了:

Image image = new Image("../assets/drawIcon.png")
Image image = new Image(getClass().getResourceAsStream("../assets/drawIcon.png"))
Run Code Online (Sandbox Code Playgroud)

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

bot*_*ius 12

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

URL url = getClass().getResource("/drawIcon.png");
Image image = ImageIO.read(url);
Run Code Online (Sandbox Code Playgroud)

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

Image image = new Image("/drawIcon.png");
Run Code Online (Sandbox Code Playgroud)

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

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

  • `ImageIO.read(...)`返回一个`java.awt.Image`,而不是`javafx.scene.image.Image`,因为我认为这里需要(注释标签). (2认同)
  • 如何将资产目录设置为资源目录? (2认同)