作者KanoLoa (卡)
看板java
标题[问题] Swing、GUI 即时更新
时间Wed Oct 28 23:29:28 2009
遇到一个不太能理解的问题,所以来这边求救 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