我正在导出一个包含两个目录的简单java项目; src和图标。 Icons是一个包含三个.png文件的目录。
我正在使用File - >导出到可执行的.jar文件。出口。导出正常,.jar文件包含Icon目录。但是在部署项目时,我无法获得.png文件的正确路径。在开发过程中,我使用以下路径:
图标/ picture.png
只要我在Eclipse IDE中运行它就可以工作。 如何获得图标的正确路径?
答案 0 :(得分:6)
您的代码正在查找.jar文件之外的图片。请改为ImageIcon
代替Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png"));
。
{{1}}
请参阅URL constructor。
答案 1 :(得分:4)
mmyers是正确的,但要注意getClass().getResource()
将相对于定义类的包加载资源。我怀疑你的图标是打包在jar文件的根目录而不是相对于类本身。要从类路径的根目录获取资源,请尝试:
getClass().getClassLoader().getResourceAsStream("Icons/picture.png")