Re: [問題] JProgressBar延遲
※ 引述《HiEArO (xsd)》之銘言:
: 我想問有關於JProgressBar的相關問題
: // 以下是測試檔
: 程式的執行是這樣子的 執行後 出現一個視窗 視窗上面有一個按扭
: 當按下後 則會進行資料庫的相關處理 如黃色註解那邊所示
: 而在進行資料庫的處理之前 先啟動了一個thread來做JProgressBar的運作
: 但是執行後 JProgressBar不會先出來 反倒是按住frame的button畫面會先定住
: 然後視窗f會出現 但是JProgressBar不會出現 然後待那些資料庫的處理完畢後
: frame.dispose()之後,JProgressBar才出現。
: 我想問的就是 為什麼這個時候JProgressBar才出現呢?
: 有人遇過相關的問題嗎?
: 這個方法我是參考JavaWorld的方法,但是還是無法解決
: 網址:
: http://www.javaworld.com.tw/jute/post/view?bid=5&id=69415&sty=3&age=0&tpg=1&ppg=1#69415
: 若我問的不好 請見諒
原因:
AWT-Thread 呼叫 actionPerformed
另外,AWT-Thread 負責 repaint components
而 database 的處理時間特別長
所以才出現 JProgressBar 遲滯過久的問題
解決之道:
把 database 的處理也創一個 thread 來執行
盡快使 AWT-Thread 離開 actionPerformed method
才可以 repaint components
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.205.85
討論串 (同標題文章)
完整討論串 (本文為第 1 之 4 篇):