java画图如何避免闪烁

PinkRobin 2010-04-08 11:37:14
最近需要用swing做一个demo,需要对画面进行频繁repaint,但是里面的图形有明显的闪烁,网上说swing已经内部实现了双缓冲,图形还是闪烁,请高手指教
...全文
525 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihong082871 2011-03-10
  • 打赏
  • 举报
回复
楼主,贴下你的代码 ,求解中
axman 2010-04-08
  • 打赏
  • 举报
回复
double buffer.不仅是JAVA,C#,C++,VB都用这种技术.
即要画的图不是一点一点画出来,而是先在内存中画完再一次性渲染出来.
对于JAVA,先在内存中生成一个BufferedImage ,通过它把图象生成出来.
然后把这个对象一次drawImage到要显示的目标上.

比如要往一个目标上画,先得到这个目标的Graphics对象g1.
在内存中生成一个BufferedImage bi.得到Graphics对象g2.
用g2在BufferedImage这个空间画在生成的图象,比如文字,线条,或其它的图片贴到这个bi上.
然后用g1把bi画到目标上.
zliuzz 2010-04-08
  • 打赏
  • 举报
回复
还是需要自己双缓冲的吧...
你手动实现以下双缓冲试试
PinkRobin 2010-04-08
  • 打赏
  • 举报
回复
问题解决了,swing确实有内置的双缓冲,不过不知道为什么那样还是不行,不过用局部刷新的方法解决了,只刷新画图的面版,仍然感谢大家
rypgood 2010-04-08
  • 打赏
  • 举报
回复
在update上实现
baidu一下一大把
YBBPS1109 2010-04-08
  • 打赏
  • 举报
回复
你是怎么实现的双缓冲,是像2楼说的那样吗?

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧