Re: [問題] Swing、GUI 即時更新

看板java作者 (QQ)時間16年前 (2009/10/30 09:35), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《KanoLoa (卡)》之銘言: : 遇到一個不太能理解的問題,所以來這邊求救 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.41.129.186

10/30 09:49, , 1F
同學... 一來這個問題都解決了,二來你... 文不對題阿
10/30 09:49, 1F

10/30 09:54, , 2F
感謝你的回覆,不過這方法也是不行,上一篇有說到XD
10/30 09:54, 2F

10/30 10:24, , 3F
看不懂 常式 常市 不市等 是什麼....
10/30 10:24, 3F
文章代碼(AID): #1AwaBRPT (java)
文章代碼(AID): #1AwaBRPT (java)