日期:2014-05-20  浏览次数:20840 次

怪事了~~怪事了~~
今天我发现一个怪事,在学j2me时,想显示图片的,用的是Image
try {  
            String path = "/1.png";
            img=Image.createImage(path);
             
        } catch (IOException e) {  
            e.printStackTrace(); }

用的是上面的代码,跟很多人一样刚开始出现了IOException异常,我就按网上说的——eclipse默认文件夹是res,把图片放到项目res文件夹下,然后我就放了,可是还是有异常;再然后有人说放到代码文件夹src下,我也放了,本来没用,我刷新了下就可以了没异常。我以为问题解决了,就把res文件夹下的图片删了,可运行又报异常。后来我想了个办法,在两个文件夹下各放一张图片,文件名都为1.png,但是两张图片的尺寸不一样大,程序运行后就显示图片的高度,以此判断是读取的那个文件夹下的图片,结果显示的是src文件夹下的图片尺寸,可当我吧res下的1.png删了就会有异常,这事怎么这么怪,貌似要求两个文件夹下都要有图片,然后还要同名才能不报异常,求解~~
------解决方案--------------------
    首先,把图片放在res文件夹下和放在src文件夹下(我想zhuyunlei_happy
你应该没在这下面建子文件夹吧。。。)效果是一样的,至于为什么,这个是因为EclipseMe插件在建项目的时候设置过路径,你建项目的时候也可以自己改,但是一般习惯上还是愿意把图片等素材资源放到res及其子文件夹下。

    至于现在两个图片显示出现莫名错误的问题,我觉得首先根据上面的理论,当编译运行时,假如res和src文件夹下都有“1.png”图片,编译后的情况就相当于同一文件夹下有重名的文件,具体显示哪一个也是系统随机的,所以结果就是高度会变。而且eclipse下的J2ME开发环境因为是插件的原因,支持总是显得有限,有项目文件变动,一般是先刷新项目的目录,再编译运行,否则也可能出现IOException,说找不到文件什么的。