在j2me中加载屏幕

时间:2011-03-24 10:12:14

标签: java-me

我希望在我的应用程序中加载屏幕,以便在我从webservice获取数据时,在互联网连接启动时显示加载屏幕。 我曾尝试使用.gif文件。我在简单的应用程序中正常工作,我只显示.gif文件。但是当我将此代码与我的应用程序集成时,它显示错误。 错误是---

TRACE: <at java.lang.IllegalArgumentException>, Exception caught in Display class
java.lang.IllegalArgumentException
        at javax.microedition.media.Manager.createPlayer(), bci=8
        at com.semaphore.GifCanvas.<init>(GifCanvas.java:41)
        at com.semaphore.CompanySplashScreen.dismiss(CompanySplashScreen.java:89)
        at com.semaphore.CompanySplashScreen.keyPressed(CompanySplashScreen.java:78)
        at javax.microedition.lcdui.CanvasLFImpl.uCallKeyPressed(), bci=19
        at javax.microedition.lcdui.DisplayableLFImpl.uCallKeyEvent(), bci=146
        at javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=30
        at com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
        at com.sun.midp.events.EventQueue.run(), bci=179
        at java.lang.Thread.run(Thread.java:619)

我用来执行.gif文件的代码是: -

InputStream ins = getClass().getResourceAsStream("/loading.gif");
        try {
            player = Manager.createPlayer(ins, "image/gif");
             player.prefetch();
             player.setLoopCount(10);

        player.start();
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (MediaException ex) {
            ex.printStackTrace();
        }
        if ((vidc = (VideoControl) player.getControl("VideoControl")) != null)
        vidc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
        try {
            vidc.setDisplayLocation(2, 2);
            vidc.setDisplaySize(getWidth()/2,getHeight()/2);
        }
        catch (MediaException me) {}
        vidc.setVisible(true);

请帮帮我。 提前谢谢

1 个答案:

答案 0 :(得分:0)

根据documentation,您的InputStream为空 检查您的资源是否正确放置。使用该路径,它应该位于项目的根目录(或src目录,我不确定)。但请检查一下。