我正在阅读与我的程序位于同一文件夹中的图像
public void GetImages() {
imgMonster = new ImageIcon(Astro_n_Monster.class.getResource("image.png")).getImage();
}
但现在我已将它们移动到另一个文件夹中但仍在项目文件夹中。我不太清楚如何阅读它们,因为我已经尝试了类似“H:NetBeansProjects \ Game \ Pictures \ image.png”之类的东西,但是它不会读取它。我需要帮助改变内容。 “”
答案 0 :(得分:1)
imgMonster = new ImageIcon("Pictures/image.png").getImage();
您可以在不使用getResource()
的情况下调用它。如果你使用这个文件路径,它应该工作。 Netbeans将从Game dir开始,这是你的项目根目录。从那里它将遵循指定的文件路径
Game (project root)
Pictures
image.png
src
build
答案 1 :(得分:0)
您是否尝试过 H:\\ NetBeansProjects \\ Game \\ Pictures \\ image.png 或 H:/NetBeansProjects/Game/Pictures/image.png 。 char“\”仅用于逃避其他特征。你的代码错了。它应该是这样的:
Image imgMonster = new ImageIcon("H:\\NetBeansProjects\\Game\\Pictures\\image.png").getImage();
答案 2 :(得分:0)
AnyClass.class.getResource("image.png")
返回该资源的绝对URL。但为此,它必须位于类路径文件夹中。
要使您的代码正常运行,image.png
.class
Astro_n_Monster
生成的{{1}}文件应该可用。{/ p>
答案 3 :(得分:0)
考虑使用简单的解决方案从包
加载图像的包结构com
|_ myCompany
|_ images
|_ image.png
com
|_ myCompany
|_ javaClasses
|_ Astro_n_Monster
现在,即使您将类Astro_n_Monster类与图像包一起移动,您也可以使用以下代码获取输出
imgMonster = new ImageIcon(Astro_n_Monster.class.getResource("/com/myCompany/images/image.png")).getImage();