【发布时间】:2021-10-17 09:14:33
【问题描述】:
我在 NetBeans 7.0 中有一个 Java 项目。
我想动态添加一些图像到某个标签。图像会根据程序的状态而有所不同。
我在我的项目的“resources”文件夹中放了一张这样的图片“filling.jpg”。
我想正确地访问这个文件(不是通过绝对或相对路径,因为这会在我构建 jar 文件时导致问题)。
于是我找到了这个方法:
ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));
labelFontFilling.setIcon(fillingIcon);
它不断给我 java.lang.NullPointerException。 但我确信有那个图像,因为我可以从 NetBeans 属性菜单中将图像分配给该标签的标签(但我不想要这个,我想通过 Java 代码添加图像)。
我做错了什么,如何正确获取该图像?
【问题讨论】:
-
你能打印出给定的路径吗?像 System.out.println(getClass().getClassLoader().getResource("filling.jpg")) 一样,这可以为您提供尝试使用的路径的线索。
-
它返回'null',所以这是Exeption的问题。但我不明白为什么它的返回为空
-
您的项目中创建的资源文件夹在哪里?它在类路径中吗?
-
src/NameofProject/resources 中的资源文件夹。它是由 NetBeans 默认创建的。我不知道如何将它添加到项目中,我查看了 Project->Properties->Libraies,但我找不到可以添加它的地方。