首页 >Java >java教程 >在 NetBeans 中从资源文件夹检索图像时如何避免 NullPointerException?

在 NetBeans 中从资源文件夹检索图像时如何避免 NullPointerException?

Patricia Arquette
Patricia Arquette原创
2024-11-07 22:35:03440浏览

How to Avoid NullPointerException when Retrieving Images from Resources Folder in NetBeans?

从 NetBeans 中的资源文件夹检索图像

问题陈述

在 NetBeans 7.0 内的 Java 项目中,从“资源”文件夹检索图像使用以下代码会导致 NullPointerException:

ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));

尽管确认资源文件夹中存在图像,但此方法失败。

解决方案

1.文件夹结构:

  • 将资源文件夹与 src 文件夹分开,以避免在构建过程中删除:

    • 在 src 文件夹中创建资源文件夹。

2. getResource(Path):

  • 在 Java 中,资源是相对于类路径的根目录访问的,在本例中是构建文件夹中的“classes”文件夹:

    • 使用前导“/”表示绝对资源路径(例如/resources/images/logo.png)。
    • 子文件夹中包含的资源省略前导“/” (例如,getClass().getResourceAsStream("/resources/allwise.ini"))。

3.示例:

  • 要加载图像,请将旧代码替换为:
ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("/resources/images/filling.jpg"));
  • 对于存储在资源内子文件夹中的资源文件,使用:
if (common.readFile(getClass().getResourceAsStream("/resources/allwise.ini"), buf).equals("OK")) {

4.构建文件夹:

  • 构建文件夹包含资源文件夹的副本。因此,当直接从 dist 文件夹运行 JAR 文件时,提供的资源路径应该有效。

5.疑难解答:

  • 确保资源文件夹中存在该图像。
  • 仔细检查图像文件名的拼写。
  • 确认您导入了必要的类,例如 java.awt.Image 和 java.awt.ImageIcon.

以上是在 NetBeans 中从资源文件夹检索图像时如何避免 NullPointerException?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn