⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animator2.java

📁 java 完全探索的随书源码
💻 JAVA
字号:
// Animator2.java

import java.awt.*;
import java.net.URL;
import java.applet.Applet;

public class Animator2 extends Applet implements Runnable
{
   Thread t;
   int frameNo;
   Image imArray [];

   public void init ()
   {
      String prefix = getParameter ("imageprefix");
      if (prefix == null)
      {
          System.out.println ("image prefix parameter missing");
          return;
      }

      String ext = getParameter ("imageext");
      if (ext == null)
      {
          System.out.println ("image extension parameter missing");
          return;
      }

      String nimages = getParameter ("numimages");
      if (nimages == null)
      {
          System.out.println ("number of images parameter missing");
          return;
      }

      int numImages = Integer.parseInt (nimages);

      if (numImages < 0)
      {
          System.out.println ("number of images < 0");
          return;
      }

      imArray = new Image [numImages];

      URL u = getDocumentBase ();

      MediaTracker mt = new MediaTracker (this);

      for (int i = 0; i < numImages; i++)
      {
           imArray [i] = getImage (u, prefix + i + ext);
           mt.addImage (imArray [i], 0);
           showStatus ("Loading frame " + i);
      }

      showStatus ("Waiting for load completion");

      try
      {
         mt.waitForID (0);
      }
      catch (InterruptedException e) {}
   }

   public void start ()
   {
      if (t == null)
      {
          t = new Thread (this);
          frameNo = 0;
          t.start ();
      }
   }

   public void stop ()
   {
     t = null;
   }

   public void run ()
   {
      Thread current = Thread.currentThread ();

      while (t == current)
      {
         repaint ();

         try
         {
            Thread.sleep (50);
         }
         catch (InterruptedException e) {}

         frameNo++;
         if (frameNo >= imArray.length)
             frameNo = 0;
      }
   }
  
   public void paint (Graphics g)
   {
      g.drawImage (imArray [frameNo], 0, 0, this);

      showStatus ("Showing frame " + frameNo);
   }

   public void update (Graphics g)
   {
      paint (g);
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -