我正在学习用Java编程游戏的基础知识。由于某些原因,每次我使用ImageIcon创建程序时,都会收到一个错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at game.Picture.<init>(Picture.java:14)
at game.Main.<init>(Main.java:11)
at game.Main.main(Main.java:7)经过一些实验,我发现当我使用eclipse创建的默认包时,程序运行得很好。但是,当我创建自己的包时,程序返回一个错误。
下面我有两个相同的程序,唯一的区别是一个使用默认的包,另一个使用我自己的包,称为“游戏”

我包含了一个包资源管理器的视图,以防ship.png的位置出现问题
发布于 2013-07-13 15:49:11
我认为它在这个位置,你应该使用"/raw/ship.png"而不是"raw/ship.png“
尝试:
ImageIcon il = new ImageIcon(this.getClass()
.getResource("/raw/ship.png");在当前代码中,"raw/ship.png“将由Java转换为Package_Name/raw/ship.png,在下面的示例中为game/raw/ship.png.显然,如果代码是从Package_Name/raw/ship.png默认包/raw/ship.png (“”)运行的,那么它就可以正常工作了。
package game;
...
ImageIcon il = new ImageIcon(this.getClass()
.getResource("raw/ship.png");https://stackoverflow.com/questions/17627087
复制相似问题