import java.awt.*;
import java.applet.*;
public class lx8_13 extends Applet implements Runable
{
Thread animate;
Image img,buffer;
Graphics gContext;
int width,heitht;
public void init()
{
img=getImage(getCodeBase(),"1.jpg");
MediaTracker tracker=new MediaTracker(this);//创建图像加载跟踪器
tracker.addImage(img,0);//添加要跟踪的图像,代号为0
try
{
tracker.waitForID(0);//等待图像加载完毕
}
catch(InterruptedException e)
{}
width=img.getWidth(this);
height=img.getHeight(this)/2;//仅使用图像的一半
buffer=createImage(2*width,height);//创建后台屏幕,原始图像的两倍宽度
gContext=buffer.getGraphics();//图像的下半部分画到后台屏幕
gContext.drawImage(img,0,-height,this);
gContext.clearRect(0,0,width,height);//清除后台屏幕左半边
}
public void start()
{
if(animate==null)
{
animate=new Thread(this);
animate.start();
}
}
public void stop()
{
if(animate!=null)
animate=null;
}
public void run()
{
int dy,num=0;
double d;
while(true)
{
d=num*Math.PI/6;//生成一个角度,共有12个值
for(int i=0;i<height;i++)
{
dy=(int)((i/12.0D+1)*Math.sin(height/12.0D*(height-i)/(i+1)+d));
repaint();
num=++num%12;
try
{
Thread.sleep(50);
}
catch(Interruption e)
{}
}
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
g.drawImage(img,0,-height,this);//显示图像的下半部分
g.drawImage(buffer,0,height,this);//显示图像的倒影,合成一幅完整图像
}
}
}
这个程序应如何修改才会出结果呀?这显示的也是一半的倒影,该如何将全部显示呢?
高手,请帮忙修改一下这个程序吧,我急用,谢谢!