spintop.java

来自「面向对象技术」· Java 代码 · 共 71 行

JAVA
71
字号
/*
*简单的动画小应用程序,揭示了线程的使用方法:
*/
import java.applet.*;
import java.awt.*;
//定义一个SpinTop 类
public class SpinTop extends Applet implements Runnable {
	Thread spinThread = null;//定义线程
	Image img[] = new Image[18];
	int counter =  0;
	int clockwise = 1;	
	//初始化类
	public void init() {
		int i;
		for (i=0;i<18;i++) {
			img[i]=getImage(getCodeBase(),"tops"+i+".gif");
		}
	}
	//决定陀螺的旋转方向
	public void nextSpin(){
			if (clockwise==1) {
				counter = counter + 1;
				if (counter == 18) {
					counter = 0;
				}
			}
			else {
				counter = counter -1;
				if (counter < 0) {
					counter = 17;
				}
			}
	}
	//实现陀螺的旋转
	public void update(Graphics g) {
		g.drawImage(img[counter],0,0,this);
	}
	//开始线程
	public void start() {
		if (spinThread == null) {
			spinThread = new Thread(this);
			spinThread.start();
		}
	}
	//停止线程
	public void stop() {
		if (spinThread!=null) {
			spinThread.stop();
			spinThread = null;
		}
	}
	//applet的run()方法		
	public void run() {
		while (spinThread != null) {
			repaint();
			try {
			   spinThread.sleep(75);
			}
			catch(InterruptedException e) {
			}
			nextSpin();
		}
	}
	//处理鼠标单击事件
	public boolean handleEvent(Event e){
		if (e.id == Event.MOUSE_DOWN) {
			clockwise = 1 - clockwise;
		}
	return true;
	}
}

⌨️ 快捷键说明

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