Re: [問題] swing上的問題

看板java作者 (Part Time Player)時間16年前 (2009/03/23 22:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《H45 (!H45)》之銘言: ※ 引述《del680202 (DAINA)》之銘言: 43 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13

03/23 17:43,
看了一下原碼之後 的確是這個原因 感激不盡
03/23 17:43

03/23 19:12,
那個...多緒同步在 swing 有好用的 SwingUtilities.invoke....
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)
文章代碼(AID): #19nvQJ_t (java)
文章代碼(AID): #19nvQJ_t (java)