• ベストアンサー

配列要素について

質問させてください。 JLabel[] label = new JLabel[10]; のようにJLabelを配列で定義して、 public void mouseClicked(MouseEvent e) {} マウスイベント(e.getSource)で クリックされたラベルのオブジェクトを取得した場合、このオブジェクトが何番目の配列要素であるかを知りたいのですが、どのようにすればよいのでしょうか? 詳しい方がおりましたら教えてください。

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

  • ベストアンサー
  • koki_m
  • ベストアンサー率83% (45/54)
回答No.1

こんばんは。 配列要素を先頭から順番に比較する方法が一般的だと思います。 - - - - - - - - - - public void mouseClicked(MouseEvent e) {  for(int i = 0; i < lbls.length; i++) {   if(e.getSource() == lbls[i]) {    JOptionPane.showMessageDialog(this, i + "番目ですね。");    return;   }  } }

その他の回答 (1)

  • yusukey
  • ベストアンサー率56% (17/30)
回答No.2

全てのJLabelに同じMouseListenerをadd しているということですよね? e.getSource()あたりでイベントが発生したオブジェクトを取得できると思います。 「何番目」というのが知りたければ label 変数を for 文で回して比較しましょう。

関連するQ&A