- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列で作ったオブジェクトのイベントを取得するには?)
配列で作ったオブジェクトのイベントを取得する方法
このQ&Aのポイント
- 配列で作成したオブジェクトのイベントを取得するには、クリックされたパネルに対してマウスリスナーを設定します
- クラス内で作成した配列の各要素に対して、パネルのクリックイベントを取得するためには、マウスリスナーを設定します
- パネルがクリックされた時のイベント処理は、ary_MouseAdapterクラス内のmouseClickedメソッドに記述します
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>adaptee.ary_mouseClicked(e, num); とメソッド呼び出しの記述をしていますが、呼び出される側は >void ary_mouseClicked(MouseEvent e) と、なっており引数の整合性が合いません。 これではコンパイルすら通らないと思いますので、恐らくは記入時のミスとは思いますけど。 で、問題点ですが「イベントの取得」に関してだけいえば問題は無いと思います。 というか、イベントはきちんと ary_mouseClick() メソッドに関連付けられていますので、真の問題は別にあると思われます。 まず、どのように「イベントの取得」の有無を確認されたのでしょうか? もしかして、子パネルじゃ無い所を「在る」と思いこんでクリックしてはいませんか? 取り敢えず、各子パネルに背景色でも指定して、表示位置を確認してみて下さい。 どうも、t-treeさんのレイアウト指定の意図が見えてこない記述なのでその部分が気になりました。 細かい記述上の問題点は多々ありますが、取り敢えず。
お礼
お礼が遅れてすみません。 お答えありがとうございました。 >これではコンパイルすら通らないと思いますので、恐らくは記入時のミスとは思いますけど。 ずばりです・・・質問時に少々書き直ししたので・・・ >まず、どのように「イベントの取得」の有無を確認されたのでしょうか? JBuilder8を使用しているので、"void ary_mouseClicked(MouseEvent e)"イベント内にブレークポイントを置きパネルをクリックしているのですが引っかかりません。 >もしかして、子パネルじゃ無い所を「在る」と思いこんでクリックしてはいませんか? 先ほども書きましたがロジックを少々書き直しておりまして・・・本当はパネルに絵が貼り付けてありますのでパネルクリックは正しくしています。 私の載せたロジックで、配列で作成したパネルのどれをクリックしてもイベントは取得されるのでしょうか?