Вы можете добавить ссылку на кнопку и индекс (i
) каждой кнопки в хэш-карту при их создании.
В своем прослушивателе с одним действием вы можете искать индексКнопка, использовавшая событие в вашем хэш-файле по его ссылке.
Что-то вроде этого (псевдокод, поэтому, пожалуйста, не понижайте голосование, если оно не компилируется):
Hashmap<JButton, Integer> map = new Hashmap<JButton, Integer>();
int j=0;
for (int i = 0; i < namesA.size(); i++)
{
b = new JButton("" + namesA.get(i) + "");
conPanel.add(b);
conFrame.add(conPanel);
// Add a mapping
map.add(b, new Integer(i));
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae2) {
// Look up the button in the map, and get it's index
Integer index = map.get( ae2.getSource() );
// Do something different here based upon index
}
});
j++;
}