基本上,我想在JAR文件中包含我的主JFrame
图标,因此不需要从外部位置加载它。
为实现这一目标,我搜索了Java的资源系统。 我用Eclipse做了什么:
答案 0 :(得分:3)
类加载器将从您添加到类路径的每个源文件夹开始获取资源。因此,URL应如下所示:
URL url = ClassLoader.getSystemResource("icona20.ico");
答案 1 :(得分:3)
如前所述,您似乎添加了res
作为源文件夹,因此它是一个根,而不是名称,如src
。
URL url = ClassLoader.getSystemResource("icona20.ico");
类加载器使用绝对(区分大小写)路径,没有明确的前导斜杠/...
。
具有绝对路径的强制性前导斜杠的相对路径:
URL url = Xyz.class.getResource("/icona20.ico");
您可能更喜欢.png
而不是.ico
,因为后一种格式在Java SE中不是标准格式。
(关于常见做法。)构建工具maven
使用以下源文件夹作为标准:
/src/main/java/
/src/main/resources/
/src/test/java/
/src/test/resources/
您对res
的使用让人联想到MS Visual Studio;)。