包含BufferedImage
的小应用程序使用Timer类进行动画制作。一切正常,但不如预期。
有时系统会努力绘制动画,好像它正在耗尽系统资源(特别是在安装JRE之后),这会使动画以异常低的速度重绘。其他时候它按预期工作。
是什么导致这个?
谢谢!
答案 0 :(得分:1)
切换到java.util.Timer,javax.swing.Timer似乎更适合于每分钟或每秒调用的操作,而不是java.util.Timer,它更适合每秒数十个调用。
答案 1 :(得分:0)
对不起大家......我很糟糕!
我正在使用的课程是javax.swing.Timer!
以下是代码的一部分(计时器实现 - 而不是方法计时器调用):
Timer t = new javax.swing.Timer(10, new ActionListener(){
public void actionPerformed(ActionEvent ev){
//This little if/step statement actually decides if
//the ellipses I have on screen will be colored all together
//or step by step
if(app.flagStep == false){
for (int i = 0; i<list.size(); i++){
drawBuffer(i);
}
}
else{
if(app.stepBut.isEnabled()){
app.stepBut.setEnabled(false);
}
drawBuffer(app.myStep);
}
}
});