Ciao!
Basta aggiungere la gestione dell'evento al bottone desiderato, il click sul bottone è gestito dall'
ActionListener e l'evento scatenato si chiama
actionPerformed, all'interno di questo evento poi puoi scrivere il codice per gestirne la funzionalità, prendiamo il tuo bottone "Genera"
JButton b7 = new JButton("Genera");
p1.add(b7);
b7.setVisible(true);
b7.setBounds(225,40,90,30);
va aggiunta la gestione dell'evento click e quindi diventerà così:
JButton b7 = new JButton("Genera");
p1.add(b7);
b7.setVisible(true);
b7.setBounds(225,40,90,30);
b7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Cliente nuovoCliente = new Cliente();
nuovoCliente.setNominativo(txt1.getText() + " " + txt2.getText());
JOptionPane.showMessageDialog(null, "Nominativo contenuto nella classe Cliente = " + nuovoCliente.nominativo);
}
});
Quello che ho scritto nell'evento praticamente istanzia una nuova classe "Cliente" inizializza il campo nominativo e poi restituisce una Message Box con il contenuto della classe.
i campi txt1 e txt2 inoltre, per come hai scritto il codice, dovrebbero essere dichiarate come
final per far si che siano "viste" dall'evento scatenato dal JButton.
Un mio suggerimento è quello di scrivere meno codice possibile nel "Main" per quationi funzionali/estetiche, ad esempio il codice da te scritto io l'avrei impostato in questa maniera, per una maggiore leggibilità... Ma è del tutto personale eh , tu scrivi il tuo codice come meglio credi
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class NewIndex {
//dichiarazione componenti Form
private JFrame base;
private JPanel p1;
private JLabel l1;
private JTextField txt1;
private JTextField txt2;
private JTextField txtAttesa;
private JButton b1;
private JButton b2;
private JButton b3;
private JButton b4;
private JButton b5;
private JButton b6;
private JButton b7;
private JButton b8;
//fine dichiarazione componenti Form
public NewIndex() {
InizializzaComponenti();
}
public static void main(String[] args) {
new NewIndex();
}
private void InizializzaComponenti(){
base = new JFrame("Gestione Spettacolo");
base.setVisible(true);
base.setBounds(000,000,490,350);
base.setResizable(false);
base.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1 = new JPanel();
base.add(p1);
p1.setVisible(true);
p1.setBounds(0,0,490,350);
l1 = new JLabel("PRENOTAZIONI");
p1.add(l1);
l1.setVisible(true);
l1.setBounds(10,5,150,10);
txt1 = new JTextField("Nome");
p1.add(txt1);
txt1.setVisible(true);
txt1.setBounds(10,80,230,35);
txt2 = new JTextField("Cognome");
p1.add(txt2);
txt2.setVisible(true);
txt2.setBounds(250,80,230,35);
txtAttesa = new JTextField("N° max clienti in lista d'attesa");
p1.add(txtAttesa);
txtAttesa.setVisible(true);
txtAttesa.setBounds(10,40,215,30);
b1 = new JButton("Prenota");
p1.add(b1);
b1.setVisible(true);
b1.setBounds(10,120,150,40);
b2 = new JButton("Trova");
p1.add(b2);
b2.setVisible(true);
b2.setBounds(230,120,90,40);
b3 = new JButton("Disdici");
p1.add(b3);
b3.setVisible(true);
b3.setBounds(330,120,150,40);
b4 = new JButton("Liberi");
p1.add(b4);
b4.setVisible(true);
b4.setBounds(10,170,230,40);
b5 = new JButton("Incompleti");
p1.add(b5);
b5.setVisible(true);
b5.setBounds(250,170,230,40);
b6 = new JButton();
p1.add(b6);
b6.setVisible(true);
b6.setEnabled(false);
b6.setBounds(170,120,50,40);
b7 = new JButton("Genera");
p1.add(b7);
b7.setVisible(true);
b7.setBounds(225,40,90,30);
b7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Cliente nuovoCliente = new Cliente();
nuovoCliente.setNominativo(txt1.getText() + " " + txt2.getText());
JOptionPane.showMessageDialog(null, "Nominativo contenuto nella classe Cliente = " + nuovoCliente.nominativo);
}
});
JButton b8 = new JButton("SALVA");
p1.add(b8);
b8.setVisible(true);
b8.setBounds(185,225,120,40);
}
}
come puoi vedere nel mio esempio i campi txt1 e txt2 non hanno bisogno di essere dichiarate
final perchè sono variabili globali alla classe.
Ah nella classe Cliente mancano i metodi
"getter"
spero di esserti stato d'aiuto.
Ciao!!!