首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

小弟我的程序打包后图片死活加载不进来,哪位高手能帮小弟我打包 50分

2012-01-21 
我的程序打包后图片死活加载不进来,谁能帮我打包 50分SSCanvas.javaJava codeimport

我的程序打包后图片死活加载不进来,谁能帮我打包 50分
SSCanvas.java
=====================

Java code
import java.io.IOException;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Font;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.Image;public class SSCanvas extends Canvas{    private Display display;    private Image[] slides;    private String[] captions = {"Love Circle Bowl","Double Wide Spine",                                  "Flume Zoom Over-vert","Kulp De Sac Bowl","Louie's Ledge"};    private int curSlide = 0;    public SSCanvas(Display d)    {        super();        display = d;                try        {            slides = new Image[5];            slides[0] = Image.createImage("/0.JPG");            slides[1] = Image.createImage("/1.JPG");            slides[2] = Image.createImage("/2.JPG");            slides[3] = Image.createImage("/3.JPG");            slides[4] = Image.createImage("/4.JPG");        }        catch (IOException e)        {            System.err.print("Failed loading images");        }            }        void start()    {        display.setCurrent(this);        repaint();    }        public void keyPressed(int keyCode)    {        int action = getGameAction(keyCode);        switch(action)        {            case LEFT:                if(--curSlide < 0)                    curSlide = slides.length - 1;                repaint();                break;            case RIGHT:                if(++curSlide >= slides.length)                    curSlide = 0;                repaint();                break;        }    }        public void paint(Graphics g)    {        g.setColor(255,255,255); // 白色        g.fillRect(0, 0, getWidth(), getHeight());                g.drawImage(slides[curSlide], getWidth()/2, getHeight()/2, Graphics.HCENTER | Graphics.VCENTER);                Font f = Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_MEDIUM);        g.setFont(f);                g.setColor(0,0,0); // 黑色        g.drawString(captions[curSlide], getWidth()/2, 0, Graphics.TOP | Graphics.HCENTER);    }}


SlideshowMIDlet
==================
Java code
import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.midlet.MIDlet;public class SlideshowMIDlet extends MIDlet implements CommandListener {private SSCanvas canvas;        public void startApp()    {        if (canvas == null)        {            canvas = new SSCanvas(Display.getDisplay(this));            Command exitCommand = new Command("Exit", Command.EXIT, 0);            canvas.addCommand(exitCommand);            canvas.setCommandListener(this);        }                canvas.start();    }        public void pauseApp()    {}        public void destroyApp(boolean uncoditional)    {}    public void commandAction(Command c, Displayable s) {        if (c.getCommandType() == Command.EXIT)        {            destroyApp(true);            notifyDestroyed();        }            }}



在eclipse里调试运行都没问题,打包后图片读取异常,谁能帮我打包看看怎么回事

分不够嚷嚷,我在加

[解决办法]
slides[0] = Image.createImage("/0.JPG");

改成
slides[0] = Image.createImage("0.JPG");

然后打包
确认 0.JPG 在jar的根目录下面

[解决办法]
确认 0.JPG 在jar的根目录下面 


你打包进去了吗?
[解决办法]
晕 JPG != jpg
[解决办法]
slides[0] = Image.createImage(new URL("0.JPG"));

再不行就这样看看!

[解决办法]
还不行就用
slides[0]=Image.createImage(this.getClass().getClassLoader().getResource(
"0.jpg"));

总之,想尽办法拿到image

热点排行