Java:来自 class.getResource( ... ) 的 NullPointerException

2024-01-21

我正在编写一个小型应用程序,当我尝试创建 ImageIcon 时,我总是遇到异常。异常是由这行代码引起的:

prayerLevel.setIcon(new ImageIcon(getClass().getResource("/icons/icon_prayer.png")));

现在在我的程序中,文件夹 /icons/ 确实存在。我不知道这是否有什么区别,但类文件位于包内,而图标文件夹位于项目文件夹内(当您看到 bin 和 src 文件夹时)。

我环顾四周,找不到可以帮助我解决问题的解决方案。也许你们中有人可以帮忙?

编辑:有人询问我的文件夹层次结构:

我知道类文件与图标不在同一文件夹中,但我制作了应用程序,我必须从不同的文件夹加载文件,并且 /folder/ 总是可以工作。

Edit 2:

System.out.println(getClass().getResource("/icons/icon_prayer.png") == null);

打印真实。


我相信 NPE 正在被抛弃ImageIcon构造函数为getResource正在返回null.

请尝试以下操作:

getClass().getClassLoader().getResource("/icons/icon_prayer.png")

Or:

ClassLoader.getSystemResource("/icons/icon_prayer.png")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:来自 class.getResource( ... ) 的 NullPointerException 的相关文章

  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • Maven 2:如何将当前项目版本打包在WAR文件中?

    我正在使用 Maven 2 构建我的 Java 项目 并且正在寻找一种向用户呈现 pom xml 当前版本号的方法 例如使用 Servlet 或 JSP 据我所知 最好的方法是 Maven 将版本号作为文本文件打包到 WAR 中 这使我能够
  • 具有默认值的 Java JAX-RS 自定义参数

    假设我有这个 这只是一个示例 GET Path value address Produces application json public Response getAddress QueryParam user User user 用户是
  • 在Java中使用命令行编译多个包

    您好 我一直在使用 IDE 但现在我需要从命令行运行和编译 问题是我有多个软件包 我试图找到答案 但没有任何效果 所以我有 src Support java files Me java files Wrapers java files 你知
  • Google App Engine with Java - 运行 javac.exe 编译器时出错

    在 Windows XP 上 刚刚下载并解压谷歌应用程序引擎java sdk to C Program Files appengine java sdk 我已经安装了jdk C Program Files Java jdk1 6 0 20
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • Junit maven构建错误(maven-surefire-plugin:2.19.1:测试失败:分叉进程中出现错误)[重复]

    这个问题在这里已经有答案了 我通过引用创建了一个示例 struts 2 项目和 J unit 测试用例link http self learning java tutorial blogspot com au 2015 04 struts2
  • 正则表达式获取字符串中的第一个数字和其他字符

    我是正则表达式的新手 想知道如何才能只获取字符串中的第一个数字 例如100 2011 10 20 14 28 55 在这种情况下 我希望它返回100 但该数字也可以更短或更长 我在想类似的事情 0 9 但它单独获取每个数字 100 2001
  • 如何拦截 REST 端点以接收所有标头?

    我当前的代码是 Path login RequestScoped public class LoginResource GET SecurityChecked public Response getUser HeaderParam AUTH
  • 定期更新 SWT 会导致 GUI 冻结

    Problem 当 GUI 字段定期更新时 SWT 会冻结 我想要一个基于 SWT 的 GUI 其中文本字段的值会定期递增 最初我从单独的线程访问 textField 导致抛出异常 线程 Thread 0 org eclipse swt S
  • Java Microsoft Excel API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JSch中如何设置文件类型和文件传输模式?

    我使用 Apache Common NetFTPClient并设置了我的ftpClient在上传文件之前使用如下所示的方法 ftpClient setFileType FTP BINARY FILE TYPE ftpClient setFi
  • 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

    我正在尝试使用带有 secp256r1 曲线 P256 的 ECDSA 和用于消息哈希的 SHA256 算法生成签名 我也在使用 Bouncy Castle 库 下面的代码 public class MyTest param args pu
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使
  • 如何在不同版本的Google App Engine中使用自定义域名?

    我使用谷歌应用程序引擎作为我的 Android 和 Web 应用程序的服务器 我使用 Android Studio 开发了 Android 应用程序 并使用 Eclipse 开发了 Web 应用程序 我在应用程序引擎中部署了两个版本 第一个

随机推荐

  • 用 C 实现的 UNIX 命令

    对于我的操作系统课程 我有一个作业 该作业是建立在之前作业的基础上的 不幸的是 除了我不知道下一个项目需要从哪里开始之外 我之前的项目无法正常工作 我下面的代码假设模仿一个简单的 UNIX Linux shell 其中包含一些无法使用 ex
  • .bind('input', function(){}) 在 IE8 中不起作用

    我一直在使用 bind input 使用 jQuery 因为它似乎是检测它们是否复制 粘贴到框中 或者只是键入然后从浏览器给定的下拉菜单中选择的最佳解决方案 我与其他人的问题 例如change 至少对我来说 它们只有在用户失去对盒子的注意力
  • 概率和百分比的解释

    非常感谢您帮助编写我的模型 如果您不介意的话 我想问您一些编码中的解释 抱歉我不是数学专家 to move ask turtles with gender male if random float 1 lt 0 025 为什么它是 和百分比
  • 在 Shopware 产品列表页面上显示评论计数

    我想要产品列表页面 如产品详细信息页面 上产品评论的总计数 如何在列表页面上获取该计数 这并不是那么微不足道的事情 您需要编写一个插件来实现此目的 在你的插件中你需要创建订阅者 https developer shopware com do
  • 在 matplotlib 中添加颜色条时出现属性错误

    以下代码无法在 Python 2 5 4 上运行 from matplotlib import pylab as pl import numpy as np data np random rand 6 6 fig pl figure 1 f
  • Bash:从文件读取标准输入并将标准输出写入文件

    我正在尝试运行一个应用程序 假设top 因此它将从标准输入的文件中读取并从标准输出写入另一个文件 目前我有 mkfifo stdin pipe tail f stdin pipe top 其按预期工作 然后我就可以echo该文件的内容和顶部
  • 添加 facebook 库后 gradle 错误 DexException

    在我在 gradle 依赖项中添加 fb 库后 dependencies compile com mixpanel android mixpanel android 4 5 2 compile com android support mul
  • VS Code Python 安装和 Python 解释器无法识别

    我在 VS Code 上收到此消息 Python is not installed Please download and install python before using the extension 也没有 Python Inter
  • 创建静态库时嵌入所有外部引用

    我需要为 C 代码创建一个包装器库来包装我的 C 库 有没有一种方法可以创建该包装器库 使得用户只需要链接该包装器库 而不必在链接器命令行上包含所有 C 库 我的测试项目的结构如下所示 lib cpp print cc print h li
  • 适用于 iOS 和 Android 的经典蓝牙包可能吗?

    After learning https stackoverflow com questions 64417509 basic flutter bluetooth questions一般而言 正确了解 BLE 和蓝牙后 我决定使用经典蓝牙来
  • 玩法 2:将表单绑定到 List[Model] 的惯用方法

    我有几个 CRUD 操作要执行 每个操作都针对一组模型 例如比赛日程 球队名单 比赛结果 比赛统计数据等 到目前为止 在我的 Play 体验中 仅几个月 有 1 个项目上线 我一直在使用一对一表单绑定到模型实例 我知道我可以对表单字段名称进
  • ggplot在pdf中嵌入字体

    我一直在使用以下指南来导出用ggplotto pdf 绘图字体指南 http zevross com blog 2014 07 30 tired of using helvetica in your r graphics heres how
  • 如何将 API 响应(json)绑定到 Angular4 中的下拉菜单

    我正在 Angular4 应用程序中工作 我需要绑定 API 响应数据的下拉列表 我不知道如何从 API 获取特定部分的特定数据 这里API包含类别 组和子组数据 每个组有2个子组 我为此创建了一个 stackblitz 文件 请看一下 h
  • 为什么不使用 document.write 呢? [复制]

    这个问题在这里已经有答案了 为什么通常不认为使用document write在 JavaScript 中 我知道这不是最优雅或最好的方法 但是它有任何真正的错误吗 一直好吗 在什么情况下会比inner HTML 据我所知 如果在加载后使用
  • Flask 说“没有提供 FLASK_APP 环境变量”[重复]

    这个问题在这里已经有答案了 我正在尝试运行 Flask 应用程序flask run但无论如何 我收到此错误 Error Could not locate Flask application You did not provide the F
  • 如何使用 serde_json 动态构建 json 数组或对象?

    我需要在运行时构建一个 json 对象 现在 只是一个简单的 key stringvalue 对象 但每个键 值对必须添加到循环中 这看起来非常简单 基本 但我没有找到任何好的示例或文档 我终于设法让一些东西发挥作用 但它似乎太复杂了 不是
  • 如何在 Windows 上获得 git 分支的图形表示,真正显示存储库的拓扑?

    我的最后一个问题已关闭 因为显然是重复的并且已得到多次答复 然而 没有一个答案提到 无法在终端中显示 Git 树 https stackoverflow com questions 1064361 unable to show a git
  • 自定义 uitableViewCell 内的 NSTimer

    我正在从 viewController 激活自定义单元类中的函数 自定义单元格类如下所示 import UIKit class TableViewCell UITableViewCell var counter 10 class func
  • 如何对非 ASCII 字符使用 tolower 函数

    我正在尝试对非 ASCII 字符应用较低的函数 以下代码在Linux Ubuntu 环境中不起作用 但在Windows中有效 int main std string data std transform data begin data en
  • Java:来自 class.getResource( ... ) 的 NullPointerException

    我正在编写一个小型应用程序 当我尝试创建 ImageIcon 时 我总是遇到异常 异常是由这行代码引起的 prayerLevel setIcon new ImageIcon getClass getResource icons icon p