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

作者: puppyulove (WHY)   2016-02-15 14:53:00
※ 引述《omidofor (媽媽咪呀)》之銘言:
: 因為你沒有提到任何相關資訊,
: 所以我假設你寫的是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
: : 請問要怎麼用呢?~
安安~
還有問題要請教您
我是利用setImageBitmap來生成圖片(QR碼)
外面包覆for迴圈
像是
for(int i=0;i<=10;i++)
{
try {
BitMatrix matrix2 = writer.encode("1234", BarcodeFormat.QR_CODE, 800, 800);
mQrcodeImage.setImageBitmap(toBitmap(matrix2));
} catch (WriterException e) {}
try{
thread sleep(1000);
}catch(InterruptedException e1){}
}
這樣的話要怎麼創新的thread更新圖片,讓它可以在這10張圖片中各停頓一秒呢?
要在新增一個class作新的new thread 在呼叫進去嗎?
感激~><
作者: omidofor (媽媽咪呀)   2016-02-15 18:02:00
你這個問題我上篇文就回答你啦,你現在不清楚的應該是thread的使用,找本書看一下比較能有全面的了解。
作者: Expsun (無限燃燒)   2016-02-16 04:50:00
官網有SwingWorker的教學
作者: puppyulove (WHY)   2016-02-16 12:14:00
我加入了new Thread()但是跑第一張圖完等一秒後就會ANR 跳出來QQ 為甚麼呢?是要把原先位置的圖移除後再放嗎? 可以直接覆蓋嗎?~
作者: omidofor (媽媽咪呀)   2016-02-16 18:44:00
結果現在才知道你在寫android...
作者: puppyulove (WHY)   2016-02-17 13:26:00
呃~ 差別在哪裡呢QQ IDE嗎我去AS版問看看好了~~ 感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com