• ベストアンサー

imageにリスナーを付けたい

 JAVA初心者です、宜しくお願いします。  ある画像をクリックするとその画像の大きいサイズが別画面で表示されますが、色々と調べ てみましたが、imageにアクションリスナーとかをaddしょうとするとエラーが発生します。 (imageにはアクションリスナーをaddできるメソッドが見当たらなかったようでした)  皆さんはそのようなプログラムを書く場合にはどのようにして、イベントを発生させているので しょうか。  宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#177743
noname#177743
回答No.1

Imageはコンポーネントではありません。Imageをそのままウインドウにaddして利用することはできませんね? GUI部品ではないのですから、GUIのイベントも組み込めません。 Imageを使うとき、たいていは何かのコンポーネント内でそのImageを描画するなどしているはずです。ということは、イベントを組み込むべきはそのコンポーネントです。例えば、JPanelのpaintComponentメソッドを使ってImageを描画している、というのならば、そのJPanelにイベントリスナーを組み込みます。そして、例えばクリックイベントならば、クリックした地点がImageの領域内かどうかをチェックし、その中にあれば必要な処理を実行する、というようにすればよいでしょう。

eiji_0035
質問者

お礼

 chiiba_kunさん、回答ありがとうございます。  やはりそうことですか、Imageの座標とかをパラメータとしてやるしかないのですね。  サンマイクロシステムズ(今は違うかも)ももう少し知恵を出してくれればと思うことが 多いです。  座標値以外にも良いやり方があれば是非教えてください。