我目前正在编写一个程序,我需要以罐子形式发送给朋友。该程序有图像,需要加载程序才能正常工作,我希望它被包含在一个jar中。目前它不能从可执行jar或我通过命令行运行。它在netbeans中工作。我的jar文件不会加载图像
下面是我使用的代码:
要加载我使用的图像:
protected ImageIcon createImageIcon(String path, String description)
{
java.net.URL imgURL = getClass().getClassLoader().getResource(path);
if (imgURL != null)
{
return new ImageIcon(Toolkit.getDefaultToolkit()
.getImage(imgURL),description);
}
else
{
System.err.println("Couldn't find file: " + path);
return null;
}
}
对我也尝试了
getClass().getResource(path)
行的网址图像应该创建的位置是:
this.img =createImageIcon(File.separator+"."+File.separator
+"resources"+File.separator+"tiles"+File.separator+"tile.png","tile");
我的jar文件是在包含类文件和资源文件夹的文件夹的顶层设置的。
我已经搜索了解决这个问题的方法,但我找不到任何可行的方法。
感谢。
在您的“createImageIcon”功能,您在图像将被创建的文件名传递?因为如果是这种情况,它意味着文件正被保存到/./resources/tiles/tile.png“,这相当于”/resources/tiles/tile.png“,它将位于文件系统的根目录。在这种情况下,一旦部署它,它就不会被你的类路径找到。 – 2011-01-13 00:40:07