Swing components are double buffered by default, so there is no need to play around with a BufferStrategy.
However when you get random errors like that its usually because code is not executed on the EDT. Read the section from the Swing tutorial on Concurrency for more information.