, 如果在循环中 持续调用 Canvas#repaint() 函数刷新界面 , 代码如下 :
import java.awt.*;
public class HelloAWT {
public...界面中一直在闪烁 ; 每次刷新都闪烁一次 ;
参考 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 )...函数时 , 会先将屏幕清空 , 然后再重新调用 Canvas#paint 函数进行绘制 , 此时就造成了界面闪烁的现象 ;
为了避免上述闪烁的情况 , 也就是绘制过程中 , 不出现 屏幕清空 的情况...;
这里 引入 双缓冲 机制 , 建立一个 图片缓冲区 , 用于缓存图片 , 绘制时绘制到图片缓冲区 , 绘制完毕后再将整张图片绘制到界面中 , 这样界面中就不会出现 清空的情况 , 始终都有内容显示...将缓冲区中的图片绘制到窗口界面中
g.drawImage(mBufferedImage, 0, 0, null);
}
二、完整代码示例
----
代码示例 :
import java.awt