【发布时间】:2014-07-16 21:15:20
【问题描述】:
我知道以前有人问过这个问题,但我已经研究了我能找到的所有解决方案,但无法让其中任何一个对我有用。我在 Eclipse 中有一个程序,我试图导出到一个可执行的 jar 文件。这是我第一次这样做。当我执行 jar 时,我的程序图像不显示。所以我做了一些研究,发现我需要将它们作为资源加载,但我似乎无法让它工作。
这是我用来加载没有 jar 的图像的代码:
private void initComponents()
{
// create an enterprise icon and make it invisible
enterpriseIcon = new JLabel(new ImageIcon("res/enterprise1.png"));
enterpriseIcon.setVisible(false);
}
我的所有图像都放在我的项目根目录中一个名为 res 的文件夹中,我告诉 Eclipse 将该文件夹放入构建路径中。
当运行 jar 文件时图像不显示时,我尝试了以下方法:
enterpriseIcon = new JLabel(new ImageIcon(getClass().getResource("/res/enterprise1.png")));
和
enterpriseIcon = new JLabel(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/res/enterprise.png"))));
但是,当其中任何一个从 Eclipse 中运行时,我得到一个空指针异常。 (我也尝试了其他一些方法,但以上是我认为我理解的唯一解决方案。)
我们将不胜感激。
【问题讨论】:
-
尝试使用 getClass().getResource("/res/enterprise1.png")
-
很抱歉遗漏了它,但这实际上是我首先尝试的。我更正了我的帖子以包含它。
-
你试过“rez/enterprise1.png”这个路径吗?你确定jar中存在我的年龄并且路径是正确的
-
看起来带有图像的 /res 文件夹不在 jar 中。我确实告诉 Eclipse 将此文件夹用作源文件夹。怎么让它放进罐子里?
-
我遇到了类似的问题,最终通过使用
getResourceAsStream而不是getResource解决了
标签: java eclipse jar resources