Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

複数のJLabelを作成した場合のイベント処理

初歩的な質問で恐縮ですが以下の質問についてご教授頂ければ幸いです。
このソースの80行目のところでラベルのクリックイベントを拾って背景色を取得してパネルに設定したいのですが、
どのようにすれば良いでしょうか?
http://ideone.com/XGmbU

e.getSource()を使ってどうにかできないかと思ったのですが良くわからず・・・・。
恐れ入りますが宜しくお願い致します。

2

回答

11149

閲覧

2件の回答

評価

30

e.getSourceで返却されるのはObjectです。
なので期待している型にキャストしてやればOK。

特定の型のみを処理したい場合には
instanceofなどを使えばより安全ではある。
※通常は複数コンポーネントに同じリスナーってのが
問題ではあるけど提示されてるソースでは
特に意識する必要はないな。

クラス ローカル変数 = (クラス)e.getSource();

んでgetBackgroundでColorクラスが取得できるので。

あとは… わかるよね?

評価

0

>>あああさん
ありがとうございます。
教えて頂いた方法で正しく処理できました!

しかし表示されたラベルをクリック→フレーム内全部をラベルと同一色で表示とやろうとするとこのままではいけませんね。
もう一度根本的な方法を考え直してみようと思います。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。