javac
可以运行吗?
具体的代码

解决方案 »

  1.   

    可以,是书上的原代码啊!
    /**
     * @version 1.20 1999-04-23
     * @author Cay Horstmann
     */import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.net.*;public class Animation extends JApplet
       implements Runnable
    {  public void init()
       {  addMouseListener(new MouseAdapter()
             {  public void mousePressed(MouseEvent evt)
                {  if (runner == null)
                      start();
                   else
                      stop();
                }
             });      try
          {  imageName = getParameter("imagename");
             if (imageName == null) imageName = "";         imageCount = 1;
             String param = getParameter("imagecount");
             if (param != null)
                imageCount = Integer.parseInt(param);
          }
          catch (Exception e)
          {  showStatus("Error: " + e);
          }      current = 0;
          image = null;
          loadImage();
       }   public void loadImage()
       {  try
          {  URL url = new URL(getDocumentBase(), imageName);
             image = getImage(url);
             MediaTracker tracker = new MediaTracker(this);
             tracker.addImage(image, 0);
             tracker.waitForID(0);
             imageWidth = image.getWidth(null);
             imageHeight = image.getHeight(null);
             resize(imageWidth, imageHeight / imageCount);
          }
          catch (InterruptedException e)
             // thrown by MediaTracker.waitFor
          {  showStatus("Loading interrupted");
          }
          catch(MalformedURLException e)
          {  showStatus("Bad URL");
          }
       }   public void paintComponent(Graphics g)
       {  if (image == null) return;
          g.drawImage(image, 0, - (imageHeight / imageCount)
             * current, null);
       }   public void start()
       {  runner = new Thread(this);
          runner.start();
          showStatus("Click to stop");
       }   public void stop()
       {  runner.interrupt();
          runner = null;
          showStatus("Click to restart");
       }   public void run()
       {  try
          {  while (!Thread.interrupted())
             {  repaint();
                current = (current + 1) % imageCount;
                Thread.sleep(200);
             }
          }
          catch(InterruptedException e) {}
       }   private Image image;
       private int current;
       private int imageCount;
       private int imageWidth;
       private int imageHeight;
       private String imageName;
       private Thread runner;
    }
      

  2.   

    可以,是书上的原代码啊!
    /**
     * @version 1.20 1999-04-23
     * @author Cay Horstmann
     */import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.net.*;public class Animation extends JApplet
       implements Runnable
    {  public void init()
       {  addMouseListener(new MouseAdapter()
             {  public void mousePressed(MouseEvent evt)
                {  if (runner == null)
                      start();
                   else
                      stop();
                }
             });      try
          {  imageName = getParameter("imagename");
             if (imageName == null) imageName = "";         imageCount = 1;
             String param = getParameter("imagecount");
             if (param != null)
                imageCount = Integer.parseInt(param);
          }
          catch (Exception e)
          {  showStatus("Error: " + e);
          }      current = 0;
          image = null;
          loadImage();
       }   public void loadImage()
       {  try
          {  URL url = new URL(getDocumentBase(), imageName);
             image = getImage(url);
             MediaTracker tracker = new MediaTracker(this);
             tracker.addImage(image, 0);
             tracker.waitForID(0);
             imageWidth = image.getWidth(null);
             imageHeight = image.getHeight(null);
             resize(imageWidth, imageHeight / imageCount);
          }
          catch (InterruptedException e)
             // thrown by MediaTracker.waitFor
          {  showStatus("Loading interrupted");
          }
          catch(MalformedURLException e)
          {  showStatus("Bad URL");
          }
       }   public void paintComponent(Graphics g)
       {  if (image == null) return;
          g.drawImage(image, 0, - (imageHeight / imageCount)
             * current, null);
       }   public void start()
       {  runner = new Thread(this);
          runner.start();
          showStatus("Click to stop");
       }   public void stop()
       {  runner.interrupt();
          runner = null;
          showStatus("Click to restart");
       }   public void run()
       {  try
          {  while (!Thread.interrupted())
             {  repaint();
                current = (current + 1) % imageCount;
                Thread.sleep(200);
             }
          }
          catch(InterruptedException e) {}
       }   private Image image;
       private int current;
       private int imageCount;
       private int imageWidth;
       private int imageHeight;
       private String imageName;
       private Thread runner;
    }
      

  3.   

    用IE运行html , 要你下载 微软虚拟机4447K.????
      

  4.   

    你是不是用的ie6?听说ie不支持swing,你的程序中有Swing.使者用appletviewer,看情况怎样?
      

  5.   

    :(,我的是IE5.5。没要求下微软虚拟机。而且,我用了appletviewer执行也不行。主要是动画没有出现,用鼠标CLOCK,又有执行showStatus("Click to stop");真是好奇怪?
      

  6.   

    不会吧。我运行的是《JAVA2核心技术》书中的原码,应该不会错吧。:|
      

  7.   

    /**
    * @version 1.20 1999-04-23
    * @author Cay Horstmann
    */我调的程序,可看到图,但没看到动画效果
    import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.net.*;public class Animation extends JApplet
      implements Runnable
    {  public void init()
      { 
            addMouseListener(new MouseAdapter()
            {  public void mousePressed(MouseEvent evt)
                {  if (runner == null)
                      start();
                  else
                      stop();
                }
            });      try
          {  imageName = getParameter("imagename");
             imageName = "beijing.gif";
            if (imageName == null) imageName = "";        imageCount = 1;
            String param = getParameter("imagecount");
            if (param != null)
                imageCount = Integer.parseInt(param);
          }
          catch (Exception e)
          {  showStatus("Error: " + e);
          }      current = 0;
          image = null;
          loadImage();
      }  public void loadImage()
      {  try
          {  URL url = new URL(getDocumentBase(), imageName);
            image = getImage(url);
            MediaTracker tracker = new MediaTracker(this);
            tracker.addImage(image, 0);
            tracker.waitForID(0);
            imageWidth = image.getWidth(null);
            imageHeight = image.getHeight(null);
            resize(imageWidth, imageHeight / imageCount);
          }
          catch (InterruptedException e)
            // thrown by MediaTracker.waitFor
          {  showStatus("Loading interrupted");
          }
          catch(MalformedURLException e)
          {  showStatus("Bad URL");
          }
      }  public void paint(Graphics g)
      {  if (image == null) 
         {   
             System.out.println("image is null");
             return;
         }    
          System.out.println("image is not null");
          g.drawImage(image, 0, -(imageHeight / imageCount)
            * current, null);
      }  public void start()
      {  runner = new Thread(this);
          runner.start();
          showStatus("Click to stop");
      }  public void stop()
      {  runner.interrupt();
          runner = null;
          showStatus("Click to restart");
      }  public void run()
      {    try
          {  while (!Thread.interrupted())
            {  
                repaint();
                current = (current + 1) % imageCount;
                Thread.sleep(200);
                
                       }
          }
          catch(InterruptedException e) {}  }
      
      private Image image;
      private int current;
      private int imageCount;
      private int imageWidth;
      private int imageHeight;
      private String imageName;
      private Thread runner;
    }
      

  8.   

    public void paintComponent(Graphics g)
    改为
    public void paint(Graphics g)
    试试
      

  9.   

    hexiaofeng,问题解决了。我看到动画了。太好了!