📄 efficient.java
字号:
import java.awt.*;
import java.applet.*;
import java.io.*;
import java.awt.image.*;
public class Efficient extends Applet implements Runnable
{
private Image img[],showImage;
private MediaTracker imageTracker;
private int ImageW,ImageH,totalImage = 5,currentImage,nextImage;
private Thread thread;
private int delay;
private Image offI;
private Graphics offG;
public void init()
{
this.setBackground(Color.black);
img = new Image[totalImage];
imageTracker = new MediaTracker(this);
String s = new String("");
for(int i=0; i<totalImage; i++)
{
s = getParameter("image" + (i+1));
//System.out.println(s);
img[i] = getImage(getCodeBase(),s);
imageTracker.addImage(img[i],0);
}
try
{
imageTracker.waitForID(0);
}
catch(InterruptedException e)
{
}
if(getParameter("delay") == null)
{
delay = 3000;
}
else
{
delay = Integer.parseInt(getParameter("delay"));
}
ImageW = img[0].getWidth(this);
ImageH = img[0].getHeight(this);
offI = createImage(ImageW,ImageH);
offG = offI.getGraphics();
}
public void start()
{
if(thread == null)
{
currentImage = 0;
thread = new Thread(this);
thread.start();
}
}
public void paint(Graphics g)
{
g.drawImage(offI,0,0,this);
}
public void update(Graphics g)
{
paint(g);
}
public void run()
{
while(thread != null)
{
try
{
thread.sleep(delay);
for(int i=0; i<=(ImageH/2); i++)
{
thread.sleep(30);
offG.setColor(Color.white);
offG.fillRect(0,0,ImageW,ImageH);
offG.drawImage(img[currentImage],0,i,ImageW,ImageH-2*i,this);
repaint();
//System.out.println("Test" + i);
}
currentImage = ((currentImage+1)%totalImage);
for(int i=0; i<=(ImageH/2); i++)
{
thread.sleep(30);
offG.setColor(Color.white);
offG.fillRect(0,0,ImageW,ImageH);
offG.drawImage(img[currentImage],0,(ImageH/2)-i,ImageW,2*i,this);
repaint();
//System.out.println("Test" + i);
}
}
catch(InterruptedException e){}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -