[問題] Swing、GUI 即時更新
遇到一個不太能理解的問題,所以來這邊求救 m(_ _)m
情境大概是這樣的:
-------------------------------------------------
我寫了一個GUI,用來對機器人下指令和監控參數。
當我按下前進鈕的時候,機器人會往前走五秒。
然後GUI要在機器人前進的時候,
依然能夠取得機器人的某個參數,(例如感測器的參數
好讓我能夠在GUI上面更新參數訊息。
1.於是我在機器人往前走的程式碼裡面,
加上一段更新GUI的參數欄位的程式碼:
while(不到5秒){
走路();
GUI.SetTextArea(參數); ← 就這行
計時();
}
這樣的結果就是得等機器人走完那五秒,
停下後他才去更新GUI,完全不理會正常程序的步驟。
2.我用一個Thread,每秒去取得機器人的參數,然後更新GUI:
run()
{
while(1)
{
X = 取得機器人參數();
GUI.SetTextArea(X);
等一秒();
}
}
結果依然一樣,只要機器人在做任何動作的時候,
GUI的介面更新就被放在最後,即使我要求先更新在動作。
為什麼有關GUI的顯示功能都會被拋在最後面才一次去做呢?
實在是令我很苦惱阿,有版友願意解惑嗎,十二萬分感謝。
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.40.137
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):