gpt4 book ai didi

java - 为什么自己制作包裹会给我带来问题?

转载 作者:行者123 更新时间:2023-12-02 06:54:05 26 4
gpt4 key购买 nike

我正在学习 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 创建的默认包时,程序运行良好。但是,当我创建自己的包时,程序返回错误。

下面我有两个相同的程序,唯一的区别是一个使用默认包,一个使用我自己的名为“game”的包

enter image description here

我包含了包资源管理器的 View ,以防 ship.png 的位置出现问题

最佳答案

我认为它在该位置,您应该使用“/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="") 运行,则Package_Name/raw/ship.png 变为/raw/ship.png 并且它有效。

package game;

...

ImageIcon il = new ImageIcon(this.getClass()
.getResource("raw/ship.png");

关于java - 为什么自己制作包裹会给我带来问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17627087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com