📄 animatorexam.java.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 + -