[問題] 讓Swing稍微停頓一下

看板java作者 (mat)時間17年前 (2008/10/19 19:20), 編輯推噓3(302)
留言5則, 2人參與, 最新討論串1/2 (看更多)
請問 我寫一個Swing程式 有個JButton我想讓他被按下去的時候 先顯示一張圖按,過一秒,再顯示另一張圖案 概念大概如下 actionPerformed(ActionEvent e){ if(e.getSource()==button1){ button1.setIcon(icon1); //這裡停頓一秒 button1.setIcon(icon2); } } 請問要怎麼做比較好? 我有試著在中間插入 Thread.sleep(1000); 結果第一張圖完全沒影兒, 停了一秒後直接跑第二張圖出來 我翻過API,要做到這個功能一定要用Swing.Timer嗎? 先謝過各位了<(_ _)> -- ---- chchwy <批兔個人版> ptt2.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.15.209 ※ 編輯: chchwy 來自: 203.68.15.209 (10/19 19:27)

10/19 21:05, , 1F
我覺得問題在於你setIcon之後沒有讓它更新介面...
10/19 21:05, 1F

10/19 21:06, , 2F
不過Swing.Timer個人以為比起想辦法去更新來得好理解...
10/19 21:06, 2F

10/20 10:31, , 3F
Thread.sleep(1000) catch InterruptedException
10/20 10:31, 3F

10/20 10:34, , 4F
啊 用過了哦= = 那 SwingUtilities.invokerLater 呢
10/20 10:34, 4F

10/20 10:35, , 5F
..我覺得我只是來亂的= = 早上剛睡醒 都推些奇怪的東西
10/20 10:35, 5F
文章代碼(AID): #18-nWN0- (java)
討論串 (同標題文章)
文章代碼(AID): #18-nWN0- (java)