从资源包中获取图标(Java)



我试图使一个java程序,并有一个应用程序图标,是资源/图标。png。我现在的代码是

ClassLoader cldr = this.getClass().getClassLoader();
URL url = cldr.getResource( "//resources//Icon.png" );
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
this.setIconImage( img );

然而我得到

未捕获的获取图像错误:java.lang.NullPointerException

我是否正确引用了图标的位置?资源是程序中的一个包。

当使用ClassLoader加载资源时,路径必须是用斜杠分隔的路径,不能以斜杠开头:

resources/Icon.png

如果直接使用类(SomeClass.class.getResource(...)),那么它可以以斜杠开始,从类路径的根开始查找资源,或者它不能以斜杠开始,从与类相同的包开始查找资源。

不确定这是否会修复它,但更改您的代码,以便您使用File和BufferedImage。如果没有,请告诉我。

编辑:没看到底部。用File代替URL

相关内容

  • 没有找到相关文章

最新更新