文章目录
一、AWT 绘图窗口闪烁问题
二、完整代码示例
画图的过程是有时间消耗的 , 先清屏 , 再画图 , 清屏到画图完毕之前 界面是空白的 , 这是闪烁产生的原因 ;
引入一个图片缓冲区 , 绘制的时候向缓冲区绘制...; 每次刷新都闪烁一次 ;
参考 【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ① ( AWT 绘图线程 | Component 绘图函数 ) 博客中的绘图过程分析...,
调用 Canvas#repaint 函数 后 , 首先将组件隐藏 , 然后调用 Canvas#update 函数 ;
调用 Canvas#update 函数 后 , 首先会清除组件中的内容 , 然后调用...public void update(Graphics g) {
g.clearRect(0, 0, width, height);
paint(g);
}
清除组件内容调用的是..., 这样界面中就不会出现 清空的情况 , 始终都有内容显示 , 这样就避免了图片闪烁的情况 ;
上述主要是 修改 自定义 Canvas 画布组件的 void update(Graphics g) 函数