日期:2014-05-20  浏览次数:20682 次

问题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 ");