不断重新粉刷时画布闪烁

时间:2010-11-17 11:00:23

标签: java

我正在制作一个包含java.awt.Canvas的应用,以便在图表中显示一系列连接节点。在编辑时,最后一个点用java.awt.geom.Line2D连接到鼠标光标,这样每次用户移动鼠标时都必须重新绘制它,这会在屏幕上产生一种非常令人作呕的闪烁效果。

之前我做过这个,我知道解决方案非常简单,并且不需要真正的硬代码,但要使用paint(g)repaint(g)update(g)方法尽管如此,我无法解决它,希望有人能帮助我!

提前多多谢意!! :)

2 个答案:

答案 0 :(得分:4)

你需要做双缓冲才能摆脱闪烁。如果你谷歌的话,很多例子。

找到了包含更多信息的上一个question。 这是另一个example

答案 1 :(得分:1)

这是关于双缓冲http://download.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html

的教程

这个想法基本上是你绘制到一个屏幕外的图像,然后一旦完成绘制整个图像,你将该图像绘制到屏幕上。