【发布时间】:2016-03-14 04:48:38
【问题描述】:
目前,我引用图像的方式是使用代码行:
static ImageIcon img1 = new ImageIcon("src\\img1.png");
static ImageIcon img2 = new ImageIcon("src\\img2.png");
但是,当我将它从 eclipse 导出到 .jar 文件中时,图片没有显示出来。是否可以在不设置完整文件路径的情况下引用图像(例如(“C:\XXXX\XXXX\XXXX.img1.jpg)),因为如果我将.jar放在闪存驱动器上,完整的文件路径没用吗?
【问题讨论】:
-
使用
Class#getResource,例如getClass().getResource("/img1.png)` -
此外,Java 知道系统上的路径分隔符,并将其替换为路径中的任何“/”。上面的路径可以写为
"src/img1.png",然后它可以在任何系统、Windows、*nix 等上运行。因为它被硬编码为仅限 Windows, -
@markspace 不正确。 Java 对文件路径没有做任何特别的事情。您可以在 Windows 上使用正斜杠的唯一原因是,除了反斜杠之外,Windows 还允许它作为分隔符。它取决于操作系统。 (请注意,我说的是文件路径,就像问题中一样。Class.getResource 中的 Resource 路径始终使用正斜杠)
-
@MadProgrammer 在这种情况下我将如何使用它?您还有更多信息可以提供帮助吗?
-
@markspace 除非你不应该在部分代码中引用
src;)