文章目录
一、AWT 绘图窗口闪烁问题
二、完整代码示例
画图的过程是有时间消耗的 , 先清屏 , 再画图 , 清屏到画图完毕之前 界面是空白的 , 这是闪烁产生的原因 ;
引入一个图片缓冲区 , 绘制的时候向缓冲区绘制..., 然后直接将缓冲区同步到画布上 , 这样就避免了界面空白情况 , 保证始终界面上有内容 ;
这就是双缓冲机制的原理 ;
一、AWT 绘图窗口闪烁问题
----
使用 Graphics 第一次绘图 完成后...; 每次刷新都闪烁一次 ;
参考 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 ) 博客中的绘图过程分析...;
为了避免上述闪烁的情况 , 也就是绘制过程中 , 不出现 屏幕清空 的情况 ;
这里 引入 双缓冲 机制 , 建立一个 图片缓冲区 , 用于缓存图片 , 绘制时绘制到图片缓冲区 , 绘制完毕后再将整张图片绘制到界面中..., 按照如下进行修改 , 即可避免出现窗口闪烁的问题 ;
/**
* 图片缓冲区
*/
private Image mBufferedImage