doublebuffer.java

来自「java程序设计 清华出版社 孙燮华老师编写的程序源代码」· Java 代码 · 共 45 行

JAVA
45
字号
//doublebuffer.java
import java.awt.*;
import java.applet.Applet;

public class doublebuffer extends Applet implements Runnable{
  Image memoryimage;
  Graphics memorygraphics;
  Thread  doublebufferthread;
  boolean animateFlag=true;
  int loop_index=0;

  public void init(){
    memoryimage=createImage(100,100);
    memorygraphics=memoryimage.getGraphics();
  }

  public void start(){
    doublebufferthread=new Thread(this);
    doublebufferthread.start();
  }

  public void stop(){
    animateFlag=false;
  }

  public void run(){
    while(animateFlag){
      repaint();
      try{Thread.sleep(200);}
      catch(InterruptedException e){}
    }
  }

  public void paint(Graphics g){
    loop_index+=5;
    if(loop_index>=100) loop_index=5;
    memorygraphics.setColor(new Color(255,255,255));
    memorygraphics.fillRect(0,0,100,100);
    memorygraphics.setColor(new Color(0,0,0));
    memorygraphics.drawRect(0,0,loop_index,loop_index);
    g.drawImage(memoryimage,10,10,this);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?