Java 无法将图像图标加载到Netbeans中的按钮
这是我用来加载图像图标的代码。您能建议我需要做什么吗,因为我遇到了一个错误: java.lang.RuntimeException:不可编译的源代码-错误的符号类型:ImageDisplayTest.class.getClassLoader 照办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
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");