博為峰小博老師:
利用Timer組件可以在一段時(shí)間內(nèi)依次做出程序員指定的操作旭愧,這在動畫的展示上非常有用绵患。如果有用過如ACDsee類的看圖軟件刚梭,就可以發(fā)現(xiàn)這類軟件都會提供一種功能风喇,那就是自動換圖功能怪与,而且也可以設(shè)置換圖時(shí)間間隔的長短堪唐。在Java中巡语,Swing的Timer組件就可以實(shí)現(xiàn)此功能,而且非常容易淮菠。下面先來觀察Timer的構(gòu)造器:Timer(int delay,ActionListener listener)用于創(chuàng)建一個(gè)每delay毫秒將通知其事件監(jiān)聽器的Timer男公。
利用Timer組件會在根據(jù)所給予的delay時(shí)間內(nèi)周期性地觸發(fā)ActionEvent事件,如果要處理這個(gè)事件合陵,必須實(shí)現(xiàn)ActionListener接口所定義的actionPerformed()方法枢赔。要開始激活Timer組件可以使用start()方法澄阳,要停止Timer組件可以使用stop()方法,要從新激活Timer組件可以使用restart()方法踏拜,若讓Timer組件只觸發(fā)一次ActionEvent事件碎赢,可利用setRepeats(false)方法,將參數(shù)設(shè)為false速梗,若要設(shè)置delay時(shí)間則可利用setDelay()方法肮塞。事實(shí)上,使用Timer組件姻锁,就是表示在程序后臺是利用Threads在運(yùn)行Timer的工作峦嗤,因此當(dāng)然也可以利用Thread的功能來自行制造出這樣的效果。