Re: [問題] Swing、GUI 即時更新
※ 引述《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
10/30 09:54, 2F
→
10/30 10:24, , 3F
10/30 10:24, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):