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

📄 animatorexam.java.bak

📁 Java程序设计培训教程2
💻 BAK
字号:
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.applet.*;
/*类AnimatorTest是Applet类的子类,该类用于将图像从左右两边往中间慢慢收缩显示*/
public class AnimatorExam extends Applet implements Runnable{
	/*声明一个Thread对象threadObj*/
	Thread threadObj;
	/*声明一个Image类型的对象imgObj,用于存放要播放的图片*/
	Image imgObj[];
	/*声明一个MediaTracker对象*/
	MediaTracker imageTracker;
	/*声明整型变量ImageW和ImageH,用于控制图像的收缩显示*/
	int imageWidth,imageHeight;
	/*本例中使用了线程,delay变量用于控制线程的睡眠时间*/
	int delay;
	int curNum;
	/*声明Image对象offI*/
	Image offI;
	Graphics offG;
	public void init()
	{
		/*将背景颜色设置为黑色*/
		this.setBackground(Color.black);
		imgObj = new Image[6];
		/*实例化一个MediaTracker对象,用于跟踪图片信息*/
		imageTracker = new MediaTracker(this);
		/*为String变量imageStr赋值*/
		String imageStr;
		for(int i = 0;i<6;i++)
		{
			imageStr = getParameter("image"+(i+1));
			imgObj[i] = getImage(getCodeBase(),imageStr);
			imageTracker.addImage(imgObj[i],0);
		}
		try
		{
			/*加载MediaTracker中的图片*/
			imageTracker.waitForID(0);
		}
		catch(InterruptedException e){}
		/*用于设置线程的睡眠时间*/
		if(getParameter("delay")==null)
		{
			delay = 10;
		}
		else
		{
			delay = Integer.parseInt(getParameter("delay"));
		}
		/*为整型变量imageWidth和imageHeight赋值*/
		imageWidth = imgObj[0].getWidth(this);
		imageHeight = imgObj[0].getHeight(this);
		/*根据imageWidth和imageHeight创建Image对象*/
		offI = createImage(imageWidth,imageHeight);
		/*根据上面的Image对象offI生成Graphics类的对象offG*/
		offG = offI.getGraphics();
	}
	/*下面的start()方法用于启动线程*/
	public void start()
	{
		if(threadObj==null)
		{
			curNum = 0;
			threadObj = new Thread(this);
			threadObj.start();
		}
	}
	/*下面的paint方法将创建的图像显示出来*/
	public void paint(Graphics g)
	{
		g.drawImage(offI,0,0,this);
	}
	/*update方法对图像进行更新*/
	public void update(Graphics g)
	{
		paint(g);
	}
	/*run()方法为线程运行是执行的操作*/
	public void run()
	{
		while(threadObj!=null)
		{
			try
			{
				threadObj.sleep(delay);
				curNum = ((curNum+1)%6);
				/*for循环用来控制图像从左右两边向中间收缩显示*/
				for(int i=0;i<=(imageWidth/3);i++)
				{
					threadObj.sleep(30);
					offG.setColor(Color.white);
					offG.fillRect(0,0,imageWidth,imageHeight);
					offG.drawImage(imgObj[curNum],i,0,imageWidth-3*i,imageHeight,this);
					repaint();
				}
			}
			catch(InterruptedException e){}
		}
	}
} 

⌨️ 快捷键说明

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