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

j2ME中图片的加载路径有关问题,有完整的有关问题描述

2012-02-29 
j2ME中图片的加载路径问题,有完整的问题描述classpath:E:\JBuilder2005\jdk1.4\lib\tools.jarE:\JBuilder

j2ME中图片的加载路径问题,有完整的问题描述
classpath:E:\JBuilder2005\jdk1.4\lib\tools.jar;E:\JBuilder2005\jdk1.4\lib\dt.jar;.
工程路径:D:\javawork\j2me\SlideshowMidlet
图片存放位置:D:\javawork\j2me\SlideshowMidlet\
程序在JBuilder2005中编写,编译,运行
在运行的时候,抛出异常:Failed   loading   images!
源程序代码如下:(有二个类,运行类没有发上来)
import   javax.microedition.lcdui.*;
import   java.io.*;

public   class   SSCanvas   extends   Canvas   {
        private   Display   display;
        private   Image   []   slides;
        private   String   []   captions   =   { "A ", "B ", "C ", "D ", "E "};
        private   int   curSlide   =   0;

        public   SSCanvas(Display   d){
                super();
                display   =   d;
        //图片加载程序开始
                try   {
                        slides   =   new   Image[5];
                        slides[0]   =   Image.createImage( "/A.gif ");
                        slides[1]   =   Image.createImage( "/B.gif ");
                        slides[2]   =   Image.createImage( "/C.gif ");
                        slides[3]   =   Image.createImage( "/D.gif ");
                        slides[4]   =   Image.createImage( "/E.gif ");
                }   catch   (IOException   e)   {
                        System.err.println( "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.HCENTER   |   Graphics.TOP);
        }
}

[解决办法]
图片和源文件放一起
[解决办法]
引用绝对路径试试
import javax.microedition.midlet.*;把这句话加上如果你做的是个完整程序的话
Image slides[0] = Image.createImage( "/A.gif ");
这个图片和 工程文件放1个文件夹没问题的
[解决办法]
晕!你用什么模拟器啊?我没听说过什么机型支持GIF动画呢。你换成png试试看,

[解决办法]
把图片放到classes文件夹

热点排行