Re: [問題] swing上的問題
※ 引述《H45 (!H45)》之銘言:
※ 引述《del680202 (DAINA)》之銘言:
43
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13
推
03/23 17:43,
03/23 17:43
→
03/23 19:12,
03/23 19:12
藉機請問一下,Swing中為了不讓處理時間過長導致整個視窗停住。
所以都會希望寫另一個thread來跑,可是如果是用invokeLater()方法,
那結果它還是會排到EDT裡面,視窗依舊會停住,直到處理完畢。
不過就我所知一般其實都不會這樣做,而是會利用SwingWorker的
doInBackground()方法來作到這樣的效果。
一般來說運作很正常也沒什麼問題,可是發現用了SwingWorker.execute()之後,
一樣會跑出因為多執行序而發生的ArrayIndexOutOfBound的Exception,
(我不確定是不是我有兩個以上的SwingWorker在跑,但我有用一些方法讓
其中一個一定會先執行完畢後在讓另一個開始,另外我的狀況是發生在JTable)
或者是我使用上有什麼疏忽呢?
推
03/23 21:06,
03/23 21:06
另原po的狀況應該可以用SwingWorker的 publish() & process()試試看,
不過會不會有Exception我就不知道了... 應該是不會,應該...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.229.2
※ 編輯: SuM0m0 來自: 118.169.229.2 (03/23 22:09)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 3 之 4 篇):