【发布时间】:2011-08-07 14:08:30
【问题描述】:
我的程序中有一组 5 张图片。该程序将被编译为单个.JAR 文件,因此需要从其中读取它们。但是,当我打电话时
images = new ArrayPP<ImageIcon>(
new ImageIcon(getClass().getResource("/bha/resources/Portal Test Chamber 17 - Part 1.png")),
new ImageIcon(getClass().getResource("/bha/resources/Portal Test Chamber 17 - Part 2.png")),
new ImageIcon(getClass().getResource("/bha/resources/Portal Test Chamber 17 - Part 3.png")),
new ImageIcon(getClass().getResource("/bha/resources/revit logo - glass.png")),
new ImageIcon(getClass().getResource("/bha/resources/The All-Knowing Octopus.png")));
适用于 JMenuItems 中的图标(例如,jMenuItem.setIcon(new javax.swing.ImageIcon(getClass().getResource("/bha/resources/icon.png"))); 将始终有效)以及在 IDE 中进行测试时,但在编译为 JAR 文件时返回为 null。
【问题讨论】:
-
愚蠢的问题,但是,您确定图像已复制到 jar 文件中,对吗?
-
假定 jar 文件名为 bha.jar,尝试使用 ./resources/Portal Test Chamber 17 - Part 1.png"
-
@MeBigFatGuy 是的,我反编译了
.JAR文件并检查了 -
@Senthil 他们在一个名为“Blue Husky Art”的
.JAR文件中,在包bha.resources中。我会试试你的 dot-hack 方法 -
我完全是凭直觉,但您可以尝试重命名文件以使其中没有空格。