我正在为 D&D 编写一个字符生成器,但我发现自己处于一个奇怪的情况,因为 InputStream 类似乎适用于某些文件,然后我得到:java.lang.NullPointerException: Input stream must not be null我正在使用 InputStream 将 javafx Image 构造加载到 ImageView 构造函数中 [new ImageView(new Image(getClass().getResourceAsStream(..)))]; 当我加载一些 .jpeg 图像时它可以工作,但是当我对 .png 图像执行相同的过程时它不会我已经尝试了 StackOverflow 上描述的许多解决方案,但似乎没有一个与我的问题太接近或根本没有帮助:创建一个 Source 文件夹并从那里检索图像将图像文件移动到类包阅读所有可能的文档这段代码工作正常,它基本上读取图像并将它们作为一些按钮的背景ImageView imv; for(int i = 1; i <= 8; i++) { imv = new ImageView(new Image(getClass().getResourceAsStream("/ButtonImages/" + i + ".jpeg")));...这是构建结果(在 JAR 上工作,因为它在 Eclipse 上工作)那么这段代码,应该会加载所有的 D&D 比赛图像this.imv = new ImageView(new Image(getClass().getResourceAsStream("/RaceImages/" + displayname + ".png")));它实际上确实在 Eclipse 中显示为这样,但在 Runnable jar 上报告了错误
1 回答

忽然笑
TA贡献1806条经验 获得超5个赞
我通过 try-catch 发现了这个问题,我为没有早点这样做而感到羞愧。
最终,唯一的错误是图片名称中的单个大写字母被 Eclipse 绕过,但在从 .jar 运行时导致 NullPointerException。
我认为这已解决,无需进一步干预。
这是显示问题的图片
添加回答
举报
0/150
提交
取消