0

我正在用 java 小程序制作纸牌游戏。我有一个扩展 JApplet 的类。现在我正在尝试在小程序上绘制 104 张图像,但是当我拖动一张图像并移动时,我的整个小程序都在闪烁。在我的程序的整个执行过程中,我在 mousedragged 和 mousepressed 中调用了 repaint 方法,因为它需要在拖动后在 applet 上重新绘制图像。

我知道每次我拖动一张卡片并在屏幕上移动鼠标时我的绘制方法都会运行,这就是为什么我的 104 张卡片每次都在小程序上重绘。我认为这就是在我的小程序中闪烁的原因。

我尝试了很多次,但没有解决。我怎样才能防止这种闪烁?

4

1 回答 1

5

查看双缓冲和BufferStrategy

曾几何时,您可以自己通过绘制到屏幕外图像然后将屏幕外图像一次性绘制到您的小程序来完成 - 但现在您可以使用 BufferStrategy。这是有关如何以老式方式进行操作的教程。BufferStrategy javadoc 向您展示了如何使用新方法。

于 2012-05-15T09:49:44.477 回答