双缓冲的小程序
来源:互联网 发布:淘宝网怎么做分销 编辑:程序博客网 时间:2024/04/30 04:30
//双缓冲的运用 小程序
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
- 双缓冲的小程序
- 双缓冲程序
- 关于缓冲的小测试
- opengl的一个简单的双缓冲程序!
- 双缓冲与后备缓冲的区别
- 单缓冲与双缓冲的区别
- 单缓冲与双缓冲的区别
- DirectDraw双缓冲技术,一个小问题。
- 双缓冲的说明
- Qt的双缓冲
- MFC单文档程序 双缓冲绘图
- 解决Windows 程序界面闪烁问题的一些经验 & 不用双缓冲实现无闪烁图象
- .NET/GDI+的双缓冲
- 经典的Qt双缓冲
- 双缓冲还闪屏的问题
- surfaceview 双缓冲的理解
- .NET/GDI+的双缓冲
- 双缓冲还闪屏的问题
- 东方幻想乡/BadApple!!
- ZOJ Problem Set - 1038 T9
- 想对/home目录进行设置磁盘配额,但是/home不是独立的文件系统,怎么办?
- POJ 2377 Bad Cowtractors(并查集+贪心)
- POJ-1654 Area 解题报告
- 双缓冲的小程序
- Android开发的朋友们,值得推荐给大家共同学习进步的地方
- Linux命令大全
- 看C语言编码转换--------负数的二进制表示方法
- (一)NotePad源码学习
- protecting the things you want
- jni 调用第三方dll学习心得
- wp7 webbrowser里面无法使用html5获取本地坐标的api
- opencv2.0.0在dm365上的移植