ClassLoader cldr = ImageDisplayTest.class.getClassLoader()
URL url = cldr.getResource("resources/wifi.png");
jLabel3.setIcon(new ImageIcon(url));
这是我为加载图片图标而编写的代码。你能建议我需要做什么,因为我收到了一个错误:
java.lang.RuntimeException:无法编译的源代码 - 错误的sym类型:ImageDisplayTest.class.getClassLoader
答案 0 :(得分:1)
只做
ImageDisplayTest.class.getResource("/resources/wifi.png");
假设您的resources
目录位于类路径中。
<强>更新强>
由于您没有向我们展示目录结构,我们假设您知道自己在做什么,并且路径中的resources
是实际包。但正如你提到它是一个Maven项目,一个灯泡在我头顶上方。我打赌你的资源&#34;是maven目录结构的一部分我是对的吗?
在这种情况下,您的资源路径将很简单&#34; /wifi.png"假设该图像存在且未嵌套到其他一些包中。
为了清楚起见,如果这不起作用,请发布您的目录结构 - 来自eclipse的截图将没问题。
答案 1 :(得分:0)
您不需要发起ClassLoader
个对象,只需使用您类的getResource()
方法:
URL url = ImageDisplayTest.class.getResource("resources/wifi.png");