包含BufferedImage
的小應用程序將動畫使用Timer類。一切正常,但並不像預期的那樣。使用Timer類的簡單動畫緩慢
有時候系統很難畫出動畫,好像它正在耗盡系統資源(特別是在安裝JRE之後),這會使動畫以非常低的速度重繪。其他時候它按預期工作。
這是什麼原因造成的?
謝謝!
包含BufferedImage
的小應用程序將動畫使用Timer類。一切正常,但並不像預期的那樣。使用Timer類的簡單動畫緩慢
有時候系統很難畫出動畫,好像它正在耗盡系統資源(特別是在安裝JRE之後),這會使動畫以非常低的速度重繪。其他時候它按預期工作。
這是什麼原因造成的?
謝謝!
對不起大家..我的壞!
我使用的類是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);
}
}
});
切換到java.util.Timer中,javax.swing.Timer中似乎更適合每分鐘或每秒調用一次的操作,而不是java.util.Timer,這比每秒數十次調用要好得多。
請問您可以發佈一些代碼。 – cMinor 2011-03-13 02:02:07
'java.util.Timer'或'javax.swing.Timer'? – trashgod 2011-03-13 02:19:36
「可能導致這種情況的原因是什麼?」 - 你的代碼有問題。如果你想了解更多細節,你將不得不自己提供更多細節。 – 2011-03-13 03:43:26