Java Graphics:每次重新绘制时,我都会得到一个黑色闪光

我是java绘图函数的新手,但我有一个我构建的示例直方图。 点击按钮,我用随机值重建直方图。 但是,每当我按下按钮进行重新绘制时,我会在重绘之前获得黑色闪光。 我记得听说这很常见,修复与缓冲有关。 任何建议?

画画时你要做的第一件事是清除你的canvas。 你看到的闪光是画出的东西的空白canvas。 如果你要以足够快的速度放慢速度,你会看到每个东西都出现在屏幕上,一次一个。

您可以通过所谓的双缓冲来解决这个问题。

您将屏幕绘制为屏幕外图像。 然后,您将图像一次性绘制到屏幕上。

默认情况下,Swing是双缓冲的。

阅读自定义绘画的Swing教程中的部分以获取工作示例。