图像不会从 jar 的根加载

Image won't load from root of jar

我希望能够从 jar 中加载图像。

很多页面都说要使用我正在使用的确切代码。有人说要使用 getClass(),但我 运行 在我的主要方法中使用代码并且我的 class 不是静态的。

目前我在主class.

的main方法中有以下代码
try {
    ImageIcon icon = new ImageIcon(BlockWorld.class.getResource("icon.png")); // line 46
    window.setIconImage(icon.getImage());
} catch (Exception e) {
    e.printStackTrace();
}

我知道 icon.png 在 jar 的根目录中。它是 128 x 128 png,没有 alpha。

编译一切正常。当我 运行 jar 时,它会输出以下内容。

java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at com.Tgwizman.BlockWorld.BlockWorld.main(BlockWorld.java:46)

有人有什么建议吗?

在路径中添加前导斜杠以使用 jar 的根文件夹。

getResource("/icon.png")