【发布时间】:2015-03-13 17:19:16
【问题描述】:
我在 Java3D 画布上使用 postRender() 绘制了 2D 元素,并希望为这些元素设置动画。在一个循环中,我调用 Canvas3D.repaint():
while(animationIsRunning){
// I update positions of 2D elements here...
// ...
canvas3D.repaint();
Thread.sleep((long)(1.0/30.0 * 1000));
}
对于每个短动画,这会导致整个 3D 画布闪烁一次或两次。
【问题讨论】:
-
你启用双缓冲了吗?
-
是的,它已启用,没有帮助。
-
文档说不能使用
postRender()。这可能是这里的问题。 -
从这里的一些经验中得到一个大胆的猜测:尝试将
System.setProperty("sun.awt.noerasebackground", "true ");添加为您的main方法的第一行。