2017-05-22 54 views
-1

說一個遊戲可以讓你選擇一些玩家,然後根據該號碼要求每個玩家的名字。 第一個用戶在JTextField中輸入他們的名字,然後單擊JButton(將其名稱存儲在列表中)。如何在用戶輸入內容後刷新JPanel?

單擊該按鈕後,JPanel將從JTextField中刪除用戶名,以便第二個人可以輸入他們的名字,等等。

我該怎麼做?我會用循環嗎?

+1

不,你不能直接使用一個循環,你需要使用一個僞循環,每次JButton被執行時,你都會更新一個變量來指示你知道循環的哪個迭代。更好的解決方案可能是根據用戶最初設置的玩家數量添加「n」個文本字段 – MadProgrammer

回答

2

我該怎麼做?我會用循環嗎?

沒有。使用循環是一種構造,您可以在線性控制檯驅動的編程環境中使用循環來獲取用戶的重複輸入。相反Swing是一個事件驅動的庫,在這種情況下,您必須以不同的方式思考,因爲在這裏您將使用與狀態相關的與用戶進行交互。所以說你想從用戶那裏得到5條記錄的信息,你需要使用一個計數器,並且每次按下提交按鈕時,你都會從GUI組件獲得輸入,用它們創建一個對象將它們添加到任何包含信息的集合(可能是ArrayList或JTable的模型),然後當計數器(您將監視的狀態變量)達到最大數量時,您將停止獲取輸入,也許可能甚至完全改變GUI視圖來反映這種狀態變化,你可以使用CardLayout來幫助。