您的位置:首页 > 编程语言 > Java开发

JAVA源代码!可以显示水波效果!

2005-03-30 23:10 357 查看
水波效果程序:
import java.awt.*;
import java.applet.Applet;
public class Splash extends Applet implements Runnable{
 int XMAX=112;
 float[] m_Height=new float[XMAX];
 float[] m_G=new float[XMAX];
 float b=1.01f;
 float fWeight=3;
 private Thread m_NAMI2D=null;
 public boolean mouseDown(Event event,int i,int j){
  m_Height[i/4-1]+=j/2;
  m_Height[i/4]+=j;
  m_Height[i/4+1]+=j/2;
  return false;
 }
 public void paint(Graphics g){
  g.setColor(Color.blue);
  float f1=3F*fWeight;
  float f2=f1-2.0F;
  m_Height[0]=m_Height[1];
  m_Height[XMAX-1]=m_Height[XMAX-2];
  float f=m_Height[0];
  for(int i=1;i<XMAX-1;i++){
   float f3=((f+f2*m_Height[i]+m_Height[i+1])/f1+m_G[i])/b;
   f=m_Height[i];
   m_G[i]=f3-f;
   m_Height[i]=f3;
   g.clearRect((i-1)*4,(int)f3-30,4,60);
   g.fillRect((i-1)*4,(int)f3+30,4,60);
  }
 }
 public void run(){
  do
      try{
       repaint();
       Thread.sleep(50L);
          }
  catch(InterruptedException _ex){
   stop();
  }
     while(true);
 }
 public void start(){
  if(m_NAMI2D==null){
   m_NAMI2D=new Thread(this);
   m_NAMI2D.start();
   }
 }
 public void stop(){
  if(m_NAMI2D!=null){
   m_NAMI2D.stop();
   m_NAMI2D=null;
  }
 }
 public void update(Graphics g){
  paint(g);
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐