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

有关问题2

2012-01-26 
问题2importjava.applet.*importjava.awt.*publicclassShowAnimatorextendsApplet//showsException{Imag

问题2
import   java.applet.*;
import   java.awt.*;
public   class   ShowAnimator   extends   Applet   //shows   Exception
{
        Image   []   m_Images;
        int   totalImages=14;
        int   currentImage=0;
        public   void   init()
        {
                m_Images=new   Image[totalImages];
                for(int   i=0;i <totalImages;i++)
                {
                        m_Images[i]=getImage(getCodeBase(), "images\\img00 "+(i+1)+ ".gif ");
                }
        }
        public   void   start()
        {
                currentImage=0;
        }
        public   void   paint(Graphics   g)
        {
                g.drawImage(m_Images[currentImage],50,50,this);
                currentImage=++currentImage%totalImages;
                try
                {
                        Thread.sleep(50);
                }
                catch(Exception   e)
                {
                }
                repaint();
        }
        public   static   void   main(String   []   args)
        {
                Frame   f=new   Frame( "DrawImages ");
                ShowAnimator   s=new   ShowAnimator();
                f.add(s);
                s.init();
                f.setSize(200,100);
                f.setVisible(true);
        }                
}

// <applet   code= "ShowAnimator.class "   width=300   height=300>
// </applet>

错误提示如下:
D:\java\lesson6> java   ShowAnimator
Exception   in   thread   "main "   java.lang.NullPointerException
                at   java.applet.Applet.getCodeBase(Unknown   Source)
                at   ShowAnimator.init(ShowAnimator.java:13)
                at   ShowAnimator.main(ShowAnimator.java:38)


[解决办法]
m_Images[i]=getImage(getCodeBase(), "images\\img00 "+(i+1)+ ".gif ");



这句好像没有获得图片, "images\\img00 " 这样写感觉不太对

f.add(s); // Frame默认布局为BorderLayout, 改为f.add(s, "Cneter ");

热点排行