使用Timer类进行简单动画的速度很慢

时间:2011-03-13 02:00:42

标签: java animation

包含BufferedImage的小应用程序使用Timer类进行动画制作。一切正常,但不如预期。

有时系统会努力绘制动画,好像它正在耗尽系统资源(特别是在安装JRE之后),这会使动画以异常低的速度重绘。其他时候它按预期工作。

是什么导致这个?

谢谢!

2 个答案:

答案 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);
        }


    }
});