1

写真を表す JButtons の HashMap があります。

this.nahledy.put(s.getName(), new JButton());

this.nahledy.get(s.getName()).addActionListener();

しかし、e.getActioncommand() は何もなく、ユーザーがボタンを押したときに s.getName() が既に変更されているため、どのボタンが押されたかを actionlistener に伝える方法がわかりません。

4

1 に答える 1

1

完璧ではありませんが、このようなものを使用できるかもしれません

public void actionPerformed(ActionEvent e) {
   JButton source = (JButton)e.getSource();
   Set<String> keys = nahledy.keySet();

   for(String key : keys) {
      if(nahledy.get(key).equals(source)) {
         // do something with your button
      }
   }
}

このようにして、このボタンに使用した s.getName() の値を見つけることができます。

于 2012-05-13T10:48:28.553 に答える