运行时java -jar file.jar,jar 文件位于当前目录中,可能图片文件夹也是如此。当您双击 jar 文件时,代码会以包含文件夹作为当前目录运行。当您“打开”时path/file.jar,当前目录显然不同,因为否则您为什么需要限定 jar 文件名。由于您程序在当前目录上回复以查找图片文件夹,因此失败。解决方案,按照我的推荐顺序(鉴于我对您的代码知之甚少):将图片包含在 jar 文件中,然后使用getResourceAsStream.将图片包含在另一个 jar 文件中,让您的主 jar 文件的清单文件在类路径中包含图片 jar 文件。在尝试“打开”文件之前,请确保当前目录正确。