animateimage.java
来自「Java 入门书的源码」· Java 代码 · 共 61 行
JAVA
61 行
//Copyright (c) 1998, Arthur Gittleman
//This example is provided WITHOUT ANY WARRANTY either expressed or implied.
/* Animates an image, loading it from a URL. Uses a
* thread to allow the system to continue other processing.
*/
import java.awt.*;
import java.applet.Applet;
import java.net.URL;
public class AnimateImage extends Applet implements Runnable {
private boolean done;
private Image pic;
private int imageWidth, imageHeight;
private MediaTracker tracker;
private boolean ready = false;
public void init() {
pic = getImage(getDocumentBase(),"gittleman.gif");
tracker = new MediaTracker(this);
tracker.addImage(pic, 0);
}
public void start() {
done = false;
Thread t = new Thread(this);
t.start();
}
public void stop() {
done = true;
}
public void paint(Graphics g) {
if (ready)
g.drawImage(pic,10,10,imageWidth,imageHeight,null);
else
g.drawString("Loading image",30,30);
}
public void run() {
try {
tracker.waitForID(0);
}catch (InterruptedException e) {}
imageWidth = pic.getWidth(null);
imageHeight = pic.getHeight(null);
ready = true;
int dx=20, dy=5;
while (true) {
for(int i=0; i<10; i++) {
if (done) return;
imageWidth += dx;
imageHeight += dy;
repaint();
try {
Thread.sleep(300);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
dx = -dx; dy = -dy;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?