daoying.java

来自「Java程序设计实用教程源代码 本书源代码按章分别放置在不同的文件夹中,所有程」· Java 代码 · 共 60 行

JAVA
60
字号
import java.applet.Applet;
import java.awt.*;
public class daoying extends Applet {
  Image image1,image2;
  Thread thread;
  Graphics gContext;
  int width,height;
  public void init() {
    image1=getImage(getCodeBase(),"aa.jpg");
    MediaTracker tracker=new MediaTracker(this);
    tracker.addImage(image1,0);
    try{
      tracker.waitForID(0);
    }
    catch(InterruptedException e){}
    width=image1.getWidth(this);
    height=image1.getHeight(this)/2;
    image2=createImage(2*width,height);
    gContext=image2.getGraphics();
    gContext.drawImage(image1,0,-height,this);
    for(int i=0;i<height;i++)
      gContext.copyArea(0,i,width,1,width,(height-1)-2*i);
    gContext.clearRect(0,0,width,height);
  }
  public void start(){
    if(thread==null){
      thread=new Thread();
      thread.start();
    }
  }
  public void stop(){
    if(thread!=null)
      thread=null;
  }
  public void run(){
    int dy,num=0;
    double d;
    while(true){
      d=num*Math.PI/12;
      for(int i=0;i<height;i++){
        dy=(int)((i/12.0D+1)*Math.sin(height/12.0D*(height-i)/(i-1)+d));
        gContext.copyArea(width,i+dy,width,1,-width,-dy);
      }
      repaint();
      num=++num%12;
      try{
        Thread.sleep(100);
      }
      catch(InterruptedException e){}
    }
  }
  public void update(Graphics g){
    paint(g);
  }
  public void paint(Graphics g){
    g.drawImage(image1,0,-height,this);
    g.drawImage(image2,-width,height,this);
  }
}

⌨️ 快捷键说明

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