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

📄 animatorapplet.java

📁 java语言与面向对象程序设计源程序
💻 JAVA
字号:
//<applet code=AnimatorApplet.class width=200 height=80>
//</applet>
import java.applet.Applet;
import java.awt.*;
public class AnimatorApplet extends Applet implements Runnable {
   int frameNumber = -1 ;
   int delay;
   Thread animatorThread;
   boolean frozen = false;
   public void init ( ) {
String str;
int fps = 10;
// 在帧之间经过多少毫秒
str = getParameter ("fps");
try {
  if (str != null) {
   fps = Integer.parseInt(str);
  }
} catch (Exception e) {}
delay = (fps > 0) ? (1000 / fps) : 100;
}
public void start ( ) {
   if (frozen) {
   //什么事情也不作.
   } else {
     //Start animating!
     if (animatorThread ==null) {
       animatorThread = new Thread(this);
     }
     animatorThread.start( );
   } 
}
public void stop( ) {
   // 停止动画线程
   animatorThread = null;
}
public boolean mouseDown(Event e, int x, int y) {
if (frozen) {
   frozen = false;
   start ( );
  } else {
    frozen =true;
    stop();
  }
return true;
}
public void run( ) {
   // 降低线程的优先级,好让其他线程执行
Thread.currentThread( ). setPriority(Thread.MIN_PRIORITY);
// 记录开始时间
long startTime = System.currentTimeMillis( );
while (Thread.currentThread() == animatorThread) {
   // 继续下一幅动画
   frameNumber++;
   //显示动画.
   repaint( );
   //延时.
   try {
     startTime += delay;
       Thread.sleep(Math.max (0,startTime -System.currentTimeMillis( )));
   } catch (InterruptedException e) {
     break;
   }
}
}
//显示动画的当前帧.
public void paint (Graphics g){
    g.drawString("Frame" + frameNumber, 0, 30);
   }
}

⌨️ 快捷键说明

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