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

📄 animation.java

📁 提供给大家共享啊,可以参考一下,如果说有更好的可以给我发一下了
💻 JAVA
字号:
/**
 * @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.*;
import java.applet.*;
public class Animation extends Applet
   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)
      { 
      }

      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);
         setSize(imageWidth, imageHeight / imageCount);
      }
      catch (InterruptedException e)
         // thrown by MediaTracker.waitFor
      { }
      catch(MalformedURLException e)
      { }
      
   }

   public void paint(Graphics g)
   {  if (image == null) return;
      g.drawImage(image, 0, - (imageHeight / imageCount)
         * current, null);
   }

   public void start()
   { 
       runner = new Thread(this);
        runner.start();
      
   }

   public void stop()
   {  runner.interrupt();
      runner = null;
      
   }

   public void run()
   {  try
      {  while (!Thread.interrupted())
         { for(int i=0;i<imageCount;i++)  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;
}

⌨️ 快捷键说明

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