[問題] setText無法即時顯示的問題

看板java作者 (Arim5566)時間12年前 (2013/08/13 11:41), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
各位版友好 我是用JFrame,我有一個button 按下之後,Button會disable, 然後有一個label會setText,顯示某一段文字 接著執行一個執行時間滿長的function, 簡單來說就是我按下button之後->setText->執行function 可是我按下之後,button還是顯示按下的外觀的,而且我還是可以按, 等到function執行完之後他就會再重新做一次... 而且按下之後,label沒有setText 奇怪的是我把function註解掉之後,變成按下 button->setText 反而是正常的 因此想問一下為什麼會這樣? 謝謝 -- ~宅男的四個徵兆~ ∠□ ○ ! * \○/ ★    (○ ? ╦╦└□ " ○□═ □   □> ║║√√ ╦══╦ ∥    |\ 一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.174.215 ※ 編輯: Arim 來自: 218.173.174.215 (08/13 12:55) ※ 編輯: Arim 來自: 218.173.174.215 (08/13 12:56)

08/13 14:00, , 1F
因為要等function跑完才會更新UI,#1AHoSjmJ
08/13 14:00, 1F

08/13 22:47, , 2F
高負載的func不要在UI thread執行
08/13 22:47, 2F

08/21 00:05, , 3F
搜尋SwingUtilities.invokeLater()和invokeAndWait()
08/21 00:05, 3F

08/21 00:07, , 4F
ui顯示和function執行要用不同執行續去處理才會正確。
08/21 00:07, 4F
文章代碼(AID): #1I2Qi7J4 (java)