⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animatedcanvas.java

📁 JAVA编程百例书中各章节的所有例子的源代码,包括套接字编程
💻 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 + -