import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class doublebuffer extends Applet implements Runnable
{
Image memoryimage;
Graphics memorygraphics;
Thread doublebufferthread;
boolean animateFlag = true;
int i;
//Initialize the applet
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()
{
try
{
while(true) {
Thread.sleep(200);
repaint();
}
}
catch(InterruptedException e)
{ }
} public void paint(Graphics g)
{
i += 5;
if(i>=100) i=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,i,i);
g.drawImage(memoryimage,10,10,this);
}
}
import java.awt.event.*;
import java.applet.*;public class doublebuffer extends Applet implements Runnable
{
Image memoryimage;
Graphics memorygraphics;
Thread doublebufferthread;
boolean animateFlag = true;
int i;
//Initialize the applet
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()
{
try
{
while(true) {
Thread.sleep(200);
repaint();
}
}
catch(InterruptedException e)
{ }
} public void paint(Graphics g)
{
i += 5;
if(i>=100) i=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,i,i);
g.drawImage(memoryimage,10,10,this);
}
}
改成如下:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;public class doublebuffer extends Applet implements Runnable
{
Image memoryimage=null;
Graphics memorygraphics;
Thread doublebufferthread;
boolean animateFlag = true;
int i;
//Initialize the applet
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()
{
try
{
while(true) {
Thread.sleep(200);
repaint();
}
}
catch(InterruptedException e)
{ }
} public void paint(Graphics g)
{
i += 5;
if(i>=100) i=5;
if(memorygraphics==null)
memorygraphics = memoryimage.getGraphics();
memorygraphics.setColor(new Color(255,255,255));
memorygraphics.fillRect(0,0,100,100);
memorygraphics.setColor(new Color(0,0,0));
memorygraphics.drawRect(0,0,i,i);
g.drawImage(memoryimage,10,10,this);
}
}