Quote Originariamente inviata da Jamie04 Visualizza il messaggio
Ad ogni pulsante deve essere associata la stessa azione (aprire un'altra schermata) ma fornedo un parametro diverso (il numero del tavolo).
In generale, come posso fare questo?
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!


Quote Originariamente inviata da Jamie04 Visualizza il messaggio
E come posso "posizionare" i pulsanti nella finestra?
Dipende come vuoi disporli .... in griglia? Tutti in riga? O in colonna? Altro?