我试过搜索但仍然没有得到解决方案。当我导出到jar文件时,我的所有图像突然不再起作用了。它们在eclipse中运行良好,我确保它们在jar文件中。我已经尝试使用get资源方法并使图像加载器类自动上升到目录树但它仍然失败。这就是我所做的:
public static Image load(String path)
{ String temp = path;
Image image = null;
try {
image = new ImageIcon(path).getImage();
}
catch ( Exception e )
{
try {
while (image == null )
{
image = new ImageIcon("../"+ path).getImage();
}
if ( path.equals("../../../../../../"+ temp))
{
while ( image ==null)
{
image = new ImageIcon("./"+ path).getImage();
}
}
}
catch ( Exception ae)
{
System.err.println("cannot locate image");
}}
return image;
}
我将发送它的路径如下:“doc / icon.png”
我已将所有图片放在doc文件夹中,结构是最终Project,里面有doc文件夹,然后是包含所有包的src文件夹。
答案 0 :(得分:5)
尝试使用:
Image.class.getClassLoader().getResource("/filepath/filename").getFile()
答案 1 :(得分:0)
而不是“强力”图像路径试图找出你尝试加载图像的路径是什么。您可以使用以下
查找System.out.println("Path: " + (this.getClass().getClassLoader().getResource("")).getPath());
然后尝试像这样加载它或像@Balint Bako allready sed。
Image img;
URL url = new File("the path you found out").toURI().toURL();
BufferedImage img = ImageIO.read(url);