Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将图像图标加载到Netbeans中的按钮_Java_Imageicon - Fatal编程技术网

Java 无法将图像图标加载到Netbeans中的按钮

Java 无法将图像图标加载到Netbeans中的按钮,java,imageicon,Java,Imageicon,这是我用来加载图像图标的代码。您能建议我需要做什么吗,因为我遇到了一个错误: java.lang.RuntimeException:不可编译的源代码-错误的符号类型:ImageDisplayTest.class.getClassLoader 照办 ClassLoader cldr = ImageDisplayTest.class.getClassLoader() URL url = cldr.getResource("resources/wifi.png"); jLabel3.setIcon(n

这是我用来加载图像图标的代码。您能建议我需要做什么吗,因为我遇到了一个错误:

java.lang.RuntimeException:不可编译的源代码-错误的符号类型:ImageDisplayTest.class.getClassLoader

照办

ClassLoader cldr = ImageDisplayTest.class.getClassLoader()
URL url = cldr.getResource("resources/wifi.png");
jLabel3.setIcon(new ImageIcon(url));
这假设您的
资源
目录位于类路径上

更新:

由于您没有向我们显示目录结构,所以我们假设您知道自己在做什么,并且路径中的
资源
是实际的包。但正如你提到的,这是一个Maven项目,一个灯泡在我头上。我打赌你的“资源”是maven目录结构的一部分,对吗

在这种情况下,您的资源路径将是简单的“/wifi.png”,假设该图像存在并且没有嵌套到其他包中


为了清楚起见,如果这不起作用,发布您的目录结构-eclipse的屏幕截图就可以了。

您不需要启动
类加载器
对象,只需使用类的
getResource()
方法,如下所示:

ImageDisplayTest.class.getResource("/resources/wifi.png");

ImageDisplayTest有什么替代品吗?我想在按钮上加载一个图标。@SwagatYadawad使用包含该行代码的类的名称。开头的反斜杠重要吗?@SwagatYadawad是的,重要的是,没有它,您将获得NPE。但无论如何,这一切都取决于你的类层次结构,如果你的
资源
包含在应用程序中,或者它放在runnable jar旁边。如果这是一个maven项目,会有什么不同吗?是否有什么替代品可以替代ImageDisplayTest?我想在按钮上加载一个图标。只要使用
resources
文件夹与ITI位于同一文件夹中的任何类名即可。这表明我必须创建一个名为ImageDisplayTest的类才能继续。还有其他标准类要使用吗?我将ImageDisplayTest更改为ImageIcon,现在行“jLabel3.setIcon(新ImageIcon(url))”给出了一个NullPointException。不,这里不是关于标准java类,映像路径是相对于您选择的类的位置的,它可以是您自己定义的类的任何类,可能是当前类本身
getClass().getResource(“resources/wifi.png”)
 URL url = ImageDisplayTest.class.getResource("resources/wifi.png");