Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAR-won';添加图像后无法工作_Java_Jar_Png_Jcomponent - Fatal编程技术网

Java JAR-won';添加图像后无法工作

Java JAR-won';添加图像后无法工作,java,jar,png,jcomponent,Java,Jar,Png,Jcomponent,我写了一个使用PNG的游戏,当我导出它的时候,图像就不起作用了。我将getClass().getClassLoader().getResource()添加到导入图像的所有位置,但JAR甚至不再启动。它以前是打开的,但没有一个图像能正常工作。现在连罐子都打不开了 我就是这样得到松饼的图像的: muffin=newImageIcon(getClass().getClassLoader().getResource(“muffin.png”)).getImage() 它的实际路径是:C:\Users\M

我写了一个使用PNG的游戏,当我导出它的时候,图像就不起作用了。我将
getClass().getClassLoader().getResource()
添加到导入图像的所有位置,但JAR甚至不再启动。它以前是打开的,但没有一个图像能正常工作。现在连罐子都打不开了

我就是这样得到松饼的图像的:
muffin=newImageIcon(getClass().getClassLoader().getResource(“muffin.png”)).getImage()
它的实际路径是:
C:\Users\My User Name\Dropbox\finalprojectwithout applet\muffin.png

我应该如何解决这个问题

谢谢

getClass().getClassLoader().getResource(“muffin.png”)
正在类所在的同一目录中查找图像
muffin.png

我的意思是,如果您的类的名称是
com.mycompany.game.MyClass
,则图像应该位于
com/mycompany/game/muffin.png
。如果这不是以
/
开头的位置写入绝对路径,例如
/img/muffin.png


将来如果程序不工作,从检查堆栈跟踪开始。

我发现了问题。结果我的案子不匹配。IDE不在乎代码中的一个名为
“muffin.png”
,而不是
“muffin.png”
。我发现的另一个案例是
“DoubleJumpIcon.png”
“DoubleJumpIcon.png”
。每个案例都很重要。

jar文件中是否包含图像?请把它提取出来并检查一下。是的,它们是。从命令行运行jar,看看是否抛出了异常。jar文件中有很多不应该出现的东西。Java备份文件(.Java~)和heck,开始时的源代码。看起来您在*类文件上也有很多源代码管理冲突,这有点令人担忧。好的,NPE意味着您无法从资源中获取图像。这意味着您的图像不存在或不存在,或者您的路径错误。请发送一个代码片段,从中检索此图像。继续提问:很难从注释中读取代码。图像与源文件位于同一目录中,您知道可能有什么问题吗?不,使用
getClassLoader()
意味着它将从根目录中查看。如果只是
Class.getResource
,则为真。图像应位于类路径中,即类文件所在的位置。源文件根本不应该在jar文件中。