如何在Java2D中进行双缓冲?

时间:2009-10-19 06:03:05

标签: java java-2d doublebuffered

我在屏幕上使用Java2D绘制了一堆原语,我得到了很多撕裂/闪烁。

如何启用/使用双缓冲,以便将其从屏幕上拉出然后显示整个内容?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

有效使用缓冲作为程序员的一些提示view

有些testing programs可以使用

答案 2 :(得分:1)

1)您创建一个BufferedImage实例。为了获得最佳性能,您需要确保这一点 缓冲的图像使用与您渲染的屏幕相同的模型。

检查这个如何使用传递给任何组件的paint方法的Graphics2D来创建BufferedImage(创建缓冲图像有很多方法,这会链接几个......)

[http://www.exampledepot.com/egs/java.awt.image/CreateBuf.html][1]

2)您获得与缓冲图像相关联的Graphics [getGraphics()],如果需要,将其投射到Graphics2D,并通过调用该图形对象上的命令将您的图元渲染到缓冲图像(也可以传递该图形对象)在缓冲图像上绘制自己的组件。)

3)通过覆盖它的paint方法并在传递给组件的Graphics2D参数上调用drawImage()的变体,将缓冲的图像绘制到组件中。

如果您需要示例代码,请

lmk