//双缓冲的运用 小程序
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class FanKuai { //主函数
public static void main (String [] args)
{
//DiTu.diTu();
MyFrame frame=new MyFrame("动起来");
frame.addWindowListener(new WindowAdapter()//关闭窗口
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}});
}
}
class DiTu
{
public static int [][] map =new int[18][18];
public static void diTu()
{
for (int i=0;i<18;i++)
{
map[0][i]=-1;
map[i][0]=-1;
}
for (int i=0;i<18;i++)
{
map[17][i]=-1;
map[i][17]=-1;
}
}
}
class MyFrame extends Frame
{
private Image iBuffer;
private Graphics gBuffer;
MyFrame(String name)
{
super(name);
DiTu.diTu();
setBounds(100,100,700,700);
setVisible(true);
validate();
}
public void paint(Graphics g)
{
if(iBuffer == null){
iBuffer = this.createImage(this.getSize().width,this.getSize().height);
gBuffer = iBuffer.getGraphics();
}
gBuffer.fillRect(0,0, this.getSize().width,this.getSize().height);
for (int i=0;i<18;i++)
{
for (int j=0;j<18;j++)
{
if (DiTu.map[i][j]==-1)
{
gBuffer.setColor(Color.red);
gBuffer.fillRect(i*30+60+i, j*30+60+j, 30, 30);
}
else //if (DiTu.map[i][j]==0)
{
gBuffer.setColor(Color.green);
gBuffer.fillRect(i*30+60+i, j*30+60+j, 30, 30);
}
}
}
g.drawImage(iBuffer,0,0,this);
}
public void update(Graphics g){
paint(g);
}
}
转载请注明:
原文转载自:http://blog.csdn.net/wildcatlele