質問: JavaでSwingを用いてRPGのようなゲームを製作しているのですが、キャラクターの選択のシステムで行き詰ってしまいました。 Labelに表示されたキャラの画像をプレーヤーにクリックさせ、キャラを[選択中]とし、他の設定(職業など)をプレーヤーが選択し終えた後、設定完了ボタンが押された時に、何のキャラクターが[選択中]なのかということを取得したいのです。 (RadioButtonの様な働きができればよい、ということです。) その様なことができるのか、できるとすればその方法を教えていただきたいです。
回答: 様々な実装方法が取れますが、例えばいずれかのボタンクラスで実装することもできると思います。画像の表示はJAbstractButton#setIconメソッドを利用してはどうでしょうか。 ラベルを用いるとすればマウスイベントをハンドリングし、選択中かどうかの状態を追加して状態に応じて表示を変化させれば望むことはできますが、ボタンにある機能をわざわざラベルに実装しなくても・・・という気がします。 しかしゲームならUIの見栄えを重視するかも知れませんね。実装のしかたにはバリエーションがあるのでラベルで実装するにしてもボタンで実装するにしても一通りそれらのクラスの機能をよく調べてどうするかを試行錯誤してみると感覚がつかめるかと思います。