双缓冲是将图形绘制到屏幕外图像缓冲区中,然后一次将缓冲区内容复制到屏幕上的过程。
对于复杂的图形,使用双缓冲可以减少闪烁问题。
Java Swing自动为其所有组件支持双缓冲。
双缓冲是占用大量内存的,仅适用于频繁重绘或要显示特别复杂图形的组件。
如果容器使用双缓冲,则它已共享该容器的屏幕外缓冲区的任何双缓冲子级,所需的屏幕外缓冲区永远不会大于应用程序的屏幕大小。
要启用双重缓冲,只需调用setDoubleBuffered()方法(从JComponent继承),即可将应该使用双重缓冲绘图的所有组件的double-buffered属性设置为true。