Re: [問題] 連續播放圖片問題

作者: omidofor (媽媽咪呀)   2016-02-03 14:42:32
因為你沒有提到任何相關資訊,
所以我假設你寫的是Swing,
目的是希望當按下一個按鈕之後,
會讓一個Label以間隔一秒的速度不停的變換圖片。
假設你想要讓他變換10張圖,
你目前的情況是:
按下按鈕後,
視窗會停住10秒,
而最後停在最後一張圖片。
原因在於,
Swing在觸發一個事件之後,
必須要等事件處理結束之後才會重新繪製畫面。
你現在可能是這樣做,
按下按鈕 -> 執行actionPerformed -> 每秒換一張圖片 -> 結束actionPerformed
以這個例子來說,
視窗要等到結束actionPerformed結束之後才會重新繪製畫面。
因此你要在按下按鈕後起一個thread負責去更新圖片。
大概是這樣。
new Thread(){
@Override
public void run(){
//do something
}
}.start();
你可以試試看用Java 8 Lambda改寫這個。
另外如果你想寫Java GUI的話,
建議你可以學JavaFx8,
這個功能就可以用animation來達成。
而且個人覺得JavaFx比Swing漂亮很多。
最後,
有些事情想說明一下。
有時候我們會看到板上有些發問的文章沒有板眾解答,
當出現這樣子的情況時,
我覺得對發問者來說可能代表一種警訊。
「沒有人回答不是這個問題沒有人會,而是沒有人知道你在問什麼。」
因此當你要發問的時候,
最好鉅細靡遺的講出,
你在寫什麼、想寫什麼功能、你是怎麼做的、程式碼長怎樣,
以及其他可以幫助板眾了解問題的資訊。
不然板友可沒有太多時間在那猜你的心思啊。
若是有不懂的或是情況不相同的話,
再回覆到板上吧。
※ 引述《puppyulove (WHY)》之銘言:
: 請問一下如何連續播放圖片
: 大約是1秒鐘放一張
: 是設置sleep(1000)嗎
: 但這樣子每次都只會跳出最後一張QQ
: 請問要怎麼用呢?~
作者: DeathWatch (愛情模糊理論)   2016-02-03 21:22:00
作者: puppyulove (WHY)   2016-02-04 16:28:00
謝謝~ 有問題在問您:>
作者: ickeal (Ickeal)   2016-02-05 14:18:00
推JAVAFX最近正在學習比起swing優點多不少

Links booklink

Contact Us: admin [ a t ] ucptt.com