首先你需要知道的是,如果你是在一个Swing组件上作图的画,Swing已经自动的为你
实现了双缓冲,因此没有必要在这个问题上上脑筋了。//感谢上帝
如果你使用的是AWT组件的话,你可以根据下面的流程使用双缓冲:
利用该组件之createImage()方法创建一个BufferedImage对象
利用BufferedImage的createGraphics()方法得到适当的Graphics对象
在得到的Graphics对象上作图
将做出的图形显示到该组件之Graphics对象上。
下面的代码片断实现了上述流程,其中g 是图形显示组件之Graphics对象。
BufferedImage bi = (BufferedImage)createImage(w, h);
Graphics big = bi.createGraphics();
// draw somthing
g.drawImage(bi, 0, 0, this);
关于双缓冲技术的详细内容,可以参考Java Tutorial中的2D Graphics。
查看本文来源