我正在编写一个简单的射弹运动模拟,我想实时更新有关距离和当前高度的信息。我有一个名为distanceCovered
的文本字段,一个函数更新状态和一个运行此函数的线程。我包括源代码:
更新功能
public void updateAnimation()
{
object.setCenterX(model.getCurrentDisplacement());
object.setCenterY(model.getCurrentHeight());
int distInfo = (int)model.getCurrentDisplacement();
String text1 = Integer.toString(distInfo);
distanceCovered.setText(text1);
}
发
private class Timer extends Thread
{
public synchronized void run()
{
while(model.getCurrentHeight() < 400)
{
try
{
double dt = model.get_dt();
wait((long) (1000 * dt));
model.update();
updateAnimation();
}
catch (InterruptedException ex)
{
}
}
}
}
当我删除更新TextField文本的函数时,一切都运行良好。当代码中有这个函数时,它会更新text属性但只有大约60次,然后抛出异常。
我应该在代码中添加更多内容吗?