2014-03-04 15 views
0

我有一些舊的Java代碼,看起來像這樣:如何更新舊的Java定時器到新的Java定時器與一個TimerTask

timer = new Timer(1000, (ActionListener) this); 

在最新的Java(我使用的Java 8構建129和JavaFX) ,Timer需要一個TimerTask,我不知道如何將它附加到我的ActionListener上...

+0

不容找到這個構造在http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html - 您使用什麼定時器? – Leo

+0

這就是問題 - 我不確定在這種情況下使用什麼。我想要做的是:Timer timer = new Timer(); timer.scheduleAtFixedRate(以某種方式將timertask與該ActionListener(this),0,1000)集成; – adeena

+0

問題中的上述代碼來自舊版本的Java--它不是最新的,這就是爲什麼我要改變它的原因。 :) – adeena

回答

3

jdk中有兩個Timer類:java.util.Timerjavax.swing.Timer。採用ActionListener的是後者。與TimerTasks一起工作的是前者。

注意構造函數的簽名尚未在Java 8改變。

所以你應該檢查你的進口。

注意:由於您要升級到Java 8,因此您可以藉此機會避免過時的類(參考javadocs)並使用ScheduledExecutorService

+0

啊 - 好的; java.util.Timer被自動引入,所以我不想檢查其他的輸入。所以是的,原來的代碼仍然有效。我會研究ScheduledExecutorService。謝謝! – adeena