animatedcanvas.java
来自「JAVA编程百例书中各章节的所有例子的源代码,包括套接字编程」· Java 代码 · 共 46 行
JAVA
46 行
package ch09.section05;
import java.util.*;
import javax.microedition.lcdui.*;
//绘制动画的画布
public class AnimatedCanvas
extends Canvas {
private Display display;
private Image offscreen;
private Vector images = new Vector();
public AnimatedCanvas(Display display) {
this.display = display;
if (!isDoubleBuffered()) {
offscreen = Image.createImage(getWidth(), getHeight());
}
}
//添加一个动画图像到列表中
public void add(AnimatedImage image) {
images.addElement(image);
}
//采用双缓存技术减少图像抖动
protected void paint(Graphics g) {
Graphics saved = g;
if (offscreen != null) {
g = offscreen.getGraphics();
}
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
int n = images.size();
for (int i = 0; i < n; ++i) {
AnimatedImage img = (AnimatedImage) images.elementAt(i);
img.draw(g);
}
if (g != saved) {
saved.drawImage(offscreen, 0, 0, Graphics.LEFT | Graphics.TOP);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?