📄 animatorapplet.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 + -