台灣最大程式設計社群網站
線上人數
1006
 
會員總數:245475
討論主題:189234
歡迎您免費加入會員
討論區列表 >> Java >> <請益>求助各位前輩解惑多執行緒與swing.Timer使用上的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
<請益>求助各位前輩解惑多執行緒與swing.Timer使用上的問題
價值 : 15 QP  點閱數:1329 回應數:2

樓主

何金營
門外漢
0 1
16 1
發送站內信

不好意思各位前輩,小弟剛入門java 2個月目前有去補習班和買書自學,最近做了一題有關寫倒數計時器的小程式,是使用多執行緒去做的
在沒有使用 javax.swing.的情況下 用sleep()延遲等待可以順利完成任務.
但小弟最近想試看看把程式寫進UI介面,在這邊就遇到了困難想跟各位前輩請益.

在使用ActionListener監聽按鈕時,sleep會造成整個程式停擺,於是小弟爬文發現API的javax.swing有Timer 這個可以用,
但不管怎麼試,還是試不出它的功能,想請教各位前輩Timer搭配監聽的正確用法要如何使用才不會造成錯誤呢???
(在這之前小弟試了無數次,有一次還造成電腦的當機 重開機@@!,也許是我執行續沒有寫好...囧)
在此附上程式碼的一小段:


class secand implements Runnable{


public void run(){
for(int i=1;i<(Integer.parseInt(counting.input.getText())*60);i++){
new Timer(1000,counting.cobject).start(); // counting.cobject 是counting new 出來的物件
counting.show.append("."); //counting是class conuting implements ActionListener
//show是 TextArea()產生的物件可以顯示資訊
}
}
}


這邊我想要有的功能是每隔一秒 就會在show上出現一個. 一直到迴圈結束為止.
但timer好像不會像sleep一樣可以很順利的停頓一秒,每當我一按啟動程式就直接出現一排........然後就當掉了,請問各位前輩能否給我好的建議呢???小弟感激不敬!! 並祝事業順利~

搜尋相關Tags的文章: [ 多執行緒 ] , [ Timer ] ,
本篇文章發表於2014-10-08 21:59
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

CCY
檢舉此回應
可以找一些 UI Thread 的書或文章來看看
Pure java swing 的話
基本款是 Thread 來做
如果工作很多就會考慮用 ThreadPool
如果背景工作跟UI 來往很頻繁可以考慮用 SwingWorker 來處理
可以查詢這些關鍵字找文章看看

本篇文章回覆於2014-10-13 20:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

何金營
檢舉此回應
感謝前輩!!我研究看看!!
本篇文章回覆於2014-10-14 21:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.