2011-03-30 50 views
0

我用下面的代码虽然是没有得到检测的资源从“资源”文件夹与NetBeans在Java中访问图像ME

imgWelcome = Image.createImage("/cover.png"); 
img = new ImageItem(null, imgWelcome, ImageItem.LAYOUT_CENTER, ""); 

访问图像和我不断获取NullPointerException异常。听起来很奇怪,在我之前的程序中完全一样。

我在这里做错了什么?

P.S.我已经仔细检查了res文件夹中是否存在文件

+0

该图像是否显示在你的ide的res文件夹中?如果不是 - > f5 ide的文件夹 – Vincent 2011-03-31 09:37:03

回答

0

哦哇..这是因为我的模拟器不支持.png。而我所尝试的是什么:(

0

可能有很多原因,但我发现大部分时间都是由于项目的构建。某些构建脚本将res/文件夹中的资源作为顶级文件包含在内,并且一些包含该文件夹作为jar文件中的文件夹。

我一直在做的解决问题的方法是将jar输出重命名为zip并查看内部。如果图像文件包含在文件夹中,那么您应该像这样解决它们。

+0

在我的情况下,jar包含的图像不在任何文件夹内。 ? – mihsathe 2011-03-30 11:36:11

+0

Himmm ...我想你应该尝试访问它:'Image.createImage(“cover.png”)'。 – paracycle 2011-03-30 12:03:55

+0

这是行不通的.btw我的代码是在一个不同的包默认的。 – mihsathe 2011-03-30 12:07:29

0

您的代码不会找到cover.png如果是在/res文件夹

使用7-Zip或类似的方法检查罐子的内容,确保图像确实在/res文件夹中,然后用imgWelcome = Image.createImage("/res/cover.png");替换第一行。