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

ImageItem中的图片的相对路径和绝对路径问题
Java code

/**
 * prj5_1.java
 * 使用ChoiceGroup
 * @ author
 * @ version 1.0
 * create on 2008-10-27
 */
package src;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Display;
//import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
//import javax.microedition.lcdui.Item;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class prj5_2 extends MIDlet {
    
    private Form mainForm=new Form("这是一个含有ImageItem的Form");
    private Display dis;
    private ImageItem imageItem;
    
    
    public prj5_2() {
        // TODO 
        Image img=null;
        try{
            img=Image.createImage("/pics/img.png"); //在这里,如果这张图片和JAVA源文件在同一文件夹,如何处理?
        }catch(Exception ex){
            ex.printStackTrace();
        }
        imageItem=
            new ImageItem("Picture",img,ImageItem.LAYOUT_CENTER|Item.LAYOUT_EXPAND,"该图像无法装载");
        
    }

    protected void startApp() throws MIDletStateChangeException {
        dis=Display.getDisplay(this);
        dis.setCurrent(mainForm);
        
        mainForm.append(imageItem);
        
        // TODO 

    }
    
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        // TODO 

    }

    protected void pauseApp() {
        // TODO 

    }



}





------解决方案--------------------
放在res文件夹下。
------解决方案--------------------
把文件放在res文件夹下直接用img=Image.createImage("/img.png");
------解决方案--------------------
可放在src或res中,你说要放在源文件中,那就放在SRC中就可以了,其实放在这两个中都可以显示,不信自己去看看
------解决方案--------------------
应该放在res/pic/下,不同的ECLIPSE版本要求的路径有些差别,比如在3.1中需要你加上res,但3.3以后就省略了res