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

J2ME图片加载有关问题

2011-12-23 
J2ME图片加载问题我的程序加载图片时``运行就会一闪就没了``但是要是把加载图片那段代码去了```就能运行``

J2ME图片加载问题
我的程序加载图片时``运行就会一闪就没了``但是要是把加载图片那段代码去了```就能运行```请问是怎么回事啊!
我用的是JBULUDER2006```图片放在工程文件夹下的SRC文件夹下````
请高手帮忙看一下````````
package   untitled2;

import   javax.microedition.lcdui.*;
import   javax.microedition.lcdui.Canvas;
import   javax.microedition.lcdui.Font;
import   javax.microedition.lcdui.Graphics;
import   javax.microedition.lcdui.Image;
import   java.io.IOException;
import   java.io.InputStream;


public   class   MainCanvas   extends     Canvas   implements   CommandListener{
    private   Display   display;
    private   Image[]   image1;
    private   String[]   captions   =   { "img1 ",   "img2 "};
    private   int   curSlide   =   0;
    public   MainCanvas(Display   display)   {
        super();
      try   {
            image1   =   new   Image[2];
            image1[0]   =   Image.createImage( "/img1.png ");
            image1[0]   =   Image.createImage( "/img2.png ");
            this.display   =   display;
            InputStream   imageStream   =   getClass().getResourceAsStream( "/res/fly.png ");
            System.out.println(null==imageStream);


            //jbInit();
        }
        catch   (IOException   e)   {
            System.err.print( "加载图片... ");
              e.printStackTrace();
        }
    }

    void   start()   {
        display.setCurrent(this);
        repaint();

    }

    private   void   jbInit()   throws   Exception   {
        //   Set   up   this   Displayable   to   listen   to   command   events
        setCommandListener(this);
        //   add   the   Exit   command
        addCommand(new   Command( "退出 ",   Command.EXIT,   1));
    }

    public   void   commandAction(Command   command,   Displayable   displayable)   {
        /**   @todo   Add   command   handling   code   */
        if   (command.getCommandType()   ==   Command.EXIT)   {
            //   stop   the   MIDlet
            MIDlet1.quitApp();
        }
    }

    public   void   keyPressed(int   keyCode)   {
        int   action   =   getGameAction(keyCode);
        switch   (action)   {
            case   LEFT:
                if   (--curSlide   <   0)   {


                    curSlide   =   image1.length   -   1;
                    repaint();
                    break;
                }
            case   RIGHT:
                if   (++curSlide   > =   image1.length)   {
                    curSlide   =   0;
                    repaint();
                    break;
                }
        }
    }

    protected   void   paint(Graphics   g)   {
        /**   @todo   Add   paint   codes   */
        g.setColor(255,   255,   255);
        g.fillRect(0,   0,   getWidth(),   getHeight());
        g.drawImage(image1[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);
    }

}


[解决办法]
呵呵,,好事来的,自己解决.
[解决办法]
什么原因啊
[解决办法]
image1[0] = Image.createImage( "/img1.png ");
image1[0] = Image.createImage( "/img2.png ");
---------
哈哈,低级错误-:)
[解决办法]
拿分!
[解决办法]
image1[0] = Image.createImage( "/img1.png ");
image1[0] = Image.createImage( "/img2.png ");
这个好像不应该出错。只是有一个下标写错了。
,但在这里不会报错,只不过image1[1]一直为null!在画图的时候才会出问题.


热点排行