Двойная буферизация это процесс построения графика в внеэкранный буфер изображения, а затем скопировать содержимое буфера на экран одновременно все сразу. Для сложной графики, с помощью двойной буферизации позволяет уменьшить мерцание. Swing автоматически поддерживает двойную буферизацию для всех его компонентов. Чтобы включить ее, достаточно просто вызвать setDoubleBuffered() метод (наследуется от JComponent), чтобы установить свойство достаточно присвоить значение True для любой его компонента, которые следует использовать в двойной буферизации рисунка.