【发布时间】:2014-07-08 16:46:29
【问题描述】:
我正在尝试制作一个 java 程序并有一个资源/Icon.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
我是否正确引用了图标的位置?资源是程序中的一个包。
【问题讨论】:
-
我认为这就是您在 java 中处理文件位置的方式。单斜杠也不起作用。
-
使用ClassLoader加载资源时,路径不能以斜杠开头。应该是
resources/Icon.png。 -
来自method's documentation:“资源的名称是标识资源的'/'分隔的路径名。”如果资源文件夹被放入二进制输出(或 JAR 文件)中,那么您正确引用它。
-
就是这样!非常感谢。
-
请添加解决方案作为答案。避免在 cmets 中回答问题。
标签: java icons classloader