社区
Java SE
帖子详情
java画图如何避免闪烁
PinkRobin
2010-04-08 11:37:14
最近需要用swing做一个demo,需要对画面进行频繁repaint,但是里面的图形有明显的闪烁,网上说swing已经内部实现了双缓冲,图形还是闪烁,请高手指教
...全文
525
6
打赏
收藏
java画图如何避免闪烁
最近需要用swing做一个demo,需要对画面进行频繁repaint,但是里面的图形有明显的闪烁,网上说swing已经内部实现了双缓冲,图形还是闪烁,请高手指教
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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楼说的那样吗?
java
双缓冲_
java
双缓冲技术
1.
java
双缓冲技术是一种解决闪屏的技术,我们首先来看看闪屏是因为什么产生的?图像画到屏幕上的过程是:AWT->update()->paint(),有时候我们通过repaint()来调用paint(),其实也是产生了一个 AWT线程,然后通过AWT线程来调用update(),再由update()来调用paint()。我们再来看看update()的源代码:public void upd...
JAVA
中Swing的绘制原理以及如何实现动态图画
首先先吐槽一下用
JAVA
做界面的辛苦,往面板里绘制东西要获取他的Graphics,可往往要往里面画的类是别的类,然后你往里面画的时候…..坑就出来了。Swing组件绘制的原理组件在初始画的时候会调用组件本身自带的paint()和paintComponent(),绘制出他想要的样子,如果你单纯想改变他的形状和样子时,就可以重写paint()或者paintComponent来达成。不过要注意,在Swin
双缓冲解决
Java
绘图严重
闪烁
在编写一个
Java
小游戏时,需要画出一个坦克,于是在坦克这个类中创建了一个内部类实现Runnable接口来启动一个线程,在线程中调用repaint()方法不断重画,线程的睡眠时间设为50毫秒,代码如下: 结果发现,运行时
闪烁
现象特别明显,更改睡眠时间为100秒,1000秒也不行,延迟非常严重,而且仍然
闪烁
。网上查到原来是因为repaint()不断调用paint()方法引起...
java
画图
闪烁
_
Java
swing 绘图
闪烁
问题
最近在同一个Jpanel中绘制多个图像的时候会出现
闪烁
问题。事实上问题并不高深,
闪烁
的原因是因为多次绘制延迟。只需要先将图片绘制在缓冲区中,然后一次性绘制到Jpanel上就呢解决这个问题。public class GamePanel extends JPanel {public GamePanel() {}private Prisoner prisoner;private Map map;priv...
java
闪烁
_
java
双缓冲解决屏幕
闪烁
今天做实验,发现了屏幕
闪烁
问题,网上找到解决方法,在此谢谢原作者 转自http://blog.sina.com.cn/s/blog_611ca6300100ezfx.html
Java
的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在
Java
游戏编程和动画编程中最常见的就是对于屏幕
闪烁
的处理。本文从J2SE的一个再现了屏幕
闪烁
的
Java
Appilication简单动画实例展开,对屏幕
闪烁
的...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章