No se si estarás dibujando sobre un JFrame, pero si es asi creo que vas bien encaminado con lo del buffer, ahi una forma de utilizar doble buffering para evitar estos parpadeos, no tengo permisos para poner enlaces aquí, pero solo escribe doble buffer java en google y te saldran varias páginas con ejemplos de como utilizarlo, espero que te sirva, saludos.