在做客户端程序时,若将项目导出为可执行jar文件,而项目中包含图片等资源时,可能会遇到无法正确加载显示。
①.图片等若是在项目下的image文件夹中,即如下图
而java代码若是这样写的: ImageIcon icon =new ImageIcon("images/Lock.png");
则在打包出jar文件时,将项目中的images文件夹 同时复制到与jar文件同一根目录下即可加载显示图片
②很多时候可能觉得上一种方式不方便,需要2个文件放置,可以选择在项目的src目录下 新建package images
即如下图
将图片放入到images包下,
则对应代码应该 写为: ImageIcon icon =new ImageIcon(LoginView.class.getResource("/images/Lock.png"));
注意:
1.其中 LoginView为本主类名,因为加载时资源是根据编译后的所处位置来加载的。
2. "/images/Lock.png" 勿要忘记 “/”
通过②方法 打包出的jar文件 如下图所示: images文件夹会被包含进jar包里
至于为什么不在com文件夹中,则是因为java中包名实为路径名,上图中的images并不是com.images