[英]GUI not updating properly
我剛剛完成了一個項目,其中涉及創建一個迷宮並對三個“機器人”進行編程,以使用不同的策略在其中進行移動。 實現中涉及的類是:
最后,我有一個帶有main方法的入口點,其中僅包含以下內容:
Maze m = new Maze();
MazeFrame mf = new MazeFrame(m);
RightHandRobot mr = new RightHandRobot(m, mf);
mr.go(m);
這非常完美-迷宮顯示在GUI上,我可以看到機器人穿過迷宮直至到達終點-達到了預期的效果。
我的問題是:在JFrame的頂部是三個按鈕,每個按鈕都有一個ActionListener,它創建一種機械手類型的實例並調用其go方法,這使其移動直到到達“完成單元”。 當我單擊這些按鈕之一時,便創建了機械手並開始移動(可以通過每次移動執行的println語句進行驗證),但是我無法在GUI上看到機械手在移動。 僅在機器人到達終點(即go()方法完成)時才更新GUI,此時將顯示機器人所走的整個路徑。
為什么在通過main方法創建機械手而不是通過JFrame類創建機械手時,GUI可以正確更新?
我不確定您需要看什么代碼來幫助我解決這個問題,所以讓我知道您需要看什么。
使用javax.swing.Timer
來對動畫進行節奏調整,如本FleetPanel
所示。 在每個滴答聲中,計時器的偵聽器應僅渲染正在運行的機器人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.