我应该如何在 Swing 小程序中运行动画?
我有一个动画线程执行主动渲染,它最初的动画效果很好。有时(1 分钟到 2 小时后)它开始无法更新屏幕,并且只出现声音。我相信这是因为绘制不是从 EDT 执行导致某种并发问题。
那么, Activity 渲染(即 getGraphics() 和绘画)是否应该仅从 EDT 调用?这样做的一个问题是 Swing 计时器缺乏精度。
或者是否有人在不使用 EDT 的情况下成功进行主动渲染,并完全禁用对页面的任何 EDT 更新(可能使用 Canvas/或忽略 JPanel 上的重绘)?
最佳答案
您可以在另一个线程中将图形绘制到您自己的屏幕外图像中,并在 EDT 中复制到屏幕上。但对于单线程的东西,我希望你的帧速率足够高,能够在 EDT 中完成。
关于java - 主动渲染和 EDT(Swing 动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/686822/