ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-尝试使用图像资源时出现NullPointerException

2019-10-09 23:00:39  阅读:205  来源: 互联网

标签:java jar nullpointerexception project


我用Java做游戏.它在Eclipse中完全可以正常工作.

我将其导出为可运行的JAR.双击它的图标时,它不会打开.因此,我尝试从命令行运行JAR.

我在尝试检索图像资源的代码行中收到NullPointerException错误(如我所说,它在Eclipse中运行良好).这是发生错误的代码行:

ball = new ImageIcon(this.getClass().getResource("sprites/ball.PNG"));

我不知道怎么了这是我的项目的结构:

有任何想法吗?我开始变得绝望了.

非常感谢你的帮助.

编辑:我尝试将/添加到sprites / ball.PNG的开头.没有帮助.还尝试将PNG更改为png.也没用.

在JAR内部检查图像是否在内部.我在Windows上.

这是堆栈跟踪:

Exception in thread "main" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init><Unknown Source>
    at instPanel.<init><instPanel.java:17>
    at Main.<init><Main.java:23>
    at Main.main<Main.java:38>

编辑:我使用的事实(默认程序包)是否会出现问题?

解决方法:

如果您使用存档工具查看罐子内部,应该是这样.

JARROOT/*.class
JARROOT/sprites/ball.png

您可以尝试关注.

在Eclipse中,右键单击sprites文件夹.点击构建路径->用作源文件夹并再次打包项目.

您对资源的调用应该是
.this.getClass()的getResource( “/精灵/ ball.png”);要么
.this.getClass()的getResource( “/ ball.png”);
取决于Eclipse如何打包jar.

编辑:请阅读documentation.

如果传递给getResource(“”)的字符串以’/’开头,则它将被视为jar中的绝对路径.如果字符串以“ /”开头,则将其视为该类的相对路径.

这是带有注释的简单项目的图像.
文件夹“ icons”是资源文件夹.其内容将包装在广口瓶内.在这种情况下,JARROOT / other / zoom-out-icon.JPG和JARROOT / zoom-in-icon.jpg.

标签:java,jar,nullpointerexception,project
来源: https://codeday.me/bug/20191009/1882543.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有