Ci sono almeno 2 modi per "incapsulare" un dato (o più di uno) specifico per ciascun pulsante da usare alla "azione" del pulsante:
1) Incapsularlo nel ActionListener, cioè la tua classe del listener avrà un apposito campo di istanza e il relativo costruttore.
Es.
pulsante1.addActionListener(new MyActionListener(dato1));
pulsante2.addActionListener(new MyActionListener(dato2));
2) Incapsularlo nel pulsante. Se si tratta di un banale String, nota che ogni pulsante ha la proprietà "actionCommand", che è fatta apposta per fare differenziazioni di questo tipo. Se si tratta di altro tipo di dato no. In tal caso si può estendere JButton.
Es.
pulsante1 = new MyButton(dato1);
pulsante2 = new MyButton(dato2);
Nel actionPerformed (basta 1 sola istanza del listener):
MyButton b = (MyButton) event.getSource();
Xyz dato = b.getXyz(); // Metodo getter da fare appositamente!
Dipende come vuoi disporli .... in griglia? Tutti in riga? O in colonna? Altro?