大学のプロジェクトで Java を使用してゲームを作成しています。ゲームは最初はテキスト インターフェイスを使用する必要があり、後で GUI を追加する必要がありました。
ゲーム ロジックを実行し、ゲーム モデルを更新するスレッドと、JFrame をインスタンス化したメイン関数を備えた別のスレッドがあり、そこでゲームの状態に応じてパネルを切り替えます (コントローラーは GUI にどのフレームかを通知します)。 setPage メソッドで表示します)。
ただし、ユーザー入力を取得することは、今私を夢中にさせていることです。テキスト インターフェイスでは、ユーザー入力を取得するために必要だったのは、getPlayerNum などのメソッドを呼び出すことだけでした。ユーザーが番号を入力して Enter キーを押すと、入力がコントローラーに返されます。すべてのゲーム ロジックはゲーム ループに実装され、必要なときに入力を要求し、出力をビューに通知します。
イベントベースの GUI を使用せざるを得なくなった今、どうすれば同様の動作をエミュレートできますか? ユーザーがボタンをクリックするまでメソッド呼び出しをブロックし、メソッドが正しい値を返すようにするにはどうすればよいですか?