java + Swing: sobreposição eficiente de retângulo ou outro "sprite"

Não tenho muita certeza de como expressar isso, então tenha paciência comigo.

Eu tenho doisJPanels em um contêinerJPanel com umOverlayLayout. AmbosJPanels na substituição do contêinerpaint(Graphics).

O fundoJPanel é opaco e desenha alguns gráficos bastante complicados; portanto, leva um tempo "longo" (10s ou 100s de milissegundos) para renderiza

O topoJPanel é transparente e desenha apenas um retângulo, uma linha ou uma forma simples com base na entrada do mouse, portanto é muito rápid

Existe uma maneira de configurar as coisas, portanto, quando altero a forma simples no painel superior, ela não redesenha o painel inferio (por exemplo, de alguma forma, armazena em cache o painel inferior)

Estou vagamente familiarizado com conceitos como bitblt, buffer duplo e desenho XOR, mas não tenho muita certeza do que aplicar aqu

questionAnswers(4)

yourAnswerToTheQuestion