出现这种问题的原因大多是因为路径的问题,往往是在项目中运行正常,但是一旦打包成Jar后就不能正常显示
1、导出jar包图片问题
参考自:https://blog.csdn.net/qq_38898159/article/details/78896073
ImageIcon st = new ImageIcon(
WhoIsTheLucky.class.getResource("/images/start.png"));
start.setIcon(st);
ImageIcon en = new ImageIcon(
WhoIsTheLucky.class.getResource("/images/end.png"));
end.setIcon(en);
WhoIsTheLucky为本类类名
2、导出jar包txt读取问题
InputStreamReader input = new InputStreamReader(WhoIsTheLucky.class.getResourceAsStream("/images/names.txt"),"utf-8")
BufferedReader br =new BufferedReader(input);
String line = br.readLine();
WhoIsTheLucky为本类类名,修改之前我是用FileReader读取的文件路径(new FileReader("images/names.txt"))
总结:以上方法可以解决导出jar包图片与TXT显示不出来的问题,但具体为什么通过这种方法可以解决,我认为是通过WhoIsTheLucky.class.getResource方法将WhoIsTheLucky类作为一个路径对照,从而准确找到其他文件的路径,若此想法有问题,欢迎大家进行批评指正。