既然我们已经看过动画是如何开始的。现在看看它的机理。首先,我们通过定义Runnable 接口的方式来编写小程序,一旦定义了该接口,就表明我们将在其后实现run方法。
public class TstRunnable
extends Applet implements Runnable . .
然后我们编写run方法,该方法将被动画线程所调用。
public void run() {
. . .
}
我们也需要一个线程对象,该对象将治理我们的动画线程,如:
private Thread m_Thread = null;
一旦做好这些预备工作以后,当applet第一次被显示时,就会创建线程对象的一个实例,并把this对象作为建构方法的参数,之后就可以启动动画了:
public void start() {
if (m_Thread == null){
m_Thread= new Thread(this);
m_Thread.start();
}
}
最后一步编写如下代码:一旦applet 被隐藏时,就停止动画,Applet的stop方法如下:
public void stop(){
if (m_Thread != null) {
m_Thread.stop();
m_Thread = null;
}
}