0

我正在尝试理解本教程,我已经查找了使用 Java 处理 Applets ( http://www.javakode.com/applets/06-threads/ ),但我遇到了问题。

每当我使用线程时repaint(),之前生成的图像都不会消失。它停留在屏幕上并绘制新图像。但这仅在我使用该类时发生JApplet,但是当我使用Applet该类时,它就可以正常工作。

可能出了什么问题?是我的事吗?

4

1 回答 1

1

问题是,这个例子不尊重油漆链。Paint 将它的操作委托给许多子方法,其中一个实际上清除了Graphics上下文,准备好进行绘画......

绘制 AWT 组件的机制与绘制 Swing 组件的机制不同

我会建议...

  1. 将您的自定义绘画移动到单独的组件,例如JPanel. 它是双缓冲的,并且会在重新绘制组件时防止闪烁。
  2. 阅读在 AWT 和 Swing 中执行自定义绘画和绘画
  3. 阅读Swing 中的并发
  4. 改用a JFrame,它更简单...
于 2013-05-30T06:09:20.740 回答