我正在试图弄清楚我的图像只会在NetBeans中加载调试的方式和原因,但是当我执行JAR文件时,它将无法加载图像。我已经尝试调试代码来修复路径中的问题,但任何更改的语句都不会对它产生影响。
以下是产生问题的代码。
String imagePath = getClass().getResource("/StandardDeck/GameCards/"+ toString() +".png").getPath();
在执行file.exists()时,它总是返回false。
感谢您的帮助!
答案 0 :(得分:0)
将应用程序打包到JAR文件后,您的方法将无法运行。您不会使用java.io.File
类访问JAR内的图像。
您需要使用getResourceAsStream方法
InputStream imageStream = getClass().getResourceAsStream("/StandardDeck/GameCards/"+ toString() +".png");
要开始使用图片,请尝试:
ImageInputStream imageInputStream = ImageIO.createImageInputStream(imageStream);