最好使用一个
JComponent并创建一个
BufferedImage来存储底部图像。当该
paintComponent操作发生在时
JComponent,您只需将底部图像变暗,然后使用该
Graphics对象在该图像之上进行任何进一步的绘制(从存储状态开始)。应该相当有效率。
BufferedImage正如其他海报所提到的那样,您需要在另一个线程中对底部进行复杂的绘制操作(偶然省略,抱歉:)。但是,您不希望在该图像上引起争用,因此您必须
BufferedImage为此存储一个附加对象,并在完成绘制操作的那一刻将其与其他图像同步化。



