检查您要调用的构造函数的API 。您传递的字符串是一个文件路径-
当资源打包在JAR中时,文件系统上没有包含该图像的文件,因此您不能再使用此构造函数。
相反,您需要使用类加载器从流中加载资源,并将其拉入字节数组:
byte[] buffer = new byte[IMAGE_MAX_SIZE];InputStream imageStream = getClassLoader().getResourceAsStream("srcCardshidden.png");imageStream.read(buffer, 0, IMAGE_MAX_SIZE);ImageIcon placeHolder = new ImageIcon(buffer);
当然,需要更多的异常和边缘案例处理,但这就是要旨。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)