?? animatedcanvas.java
字號:
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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -