MenuAggiunta.java
Created with JBuilder
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MenuAggiunta
    extends JDialog
    implements ActionListener {

  private JLabel[] etichette;
  private JTextField[] campi;

  public MenuAggiunta(JFrame owner) {
    // Chiama il costruttore della classe base per il titolo
    super(owner, true);

    // Preleva il riferimento a se stesso come contenitore
    Container contenitore = getContentPane();
    contenitore.setLayout(new GridLayout(Persona.NUMERO_CAMPI, 2));

    // Aggiungi le etichette e i campi di testo
    etichette = new JLabel[Persona.MAIL + 1];
    campi = new JTextField[Persona.MAIL + 1];
    for (int i = Persona.NOME; i<= Persona.MAIL; i++) {
      etichette[i] = new JLabel(Persona.NOMI_CAMPI[i]);
      campi[i] = new JTextField(50);
      contenitore.add(etichette[i]);
      contenitore.add(campi[i]);
    }

    // Imposta il dialogo come action listener di se stesso
    // che agisce sulla pressione di invio nell'ultimo campo
    campi[Persona.MAIL].addActionListener(this);

    // Dimensiona e rende visibile la finestra
    setSize(400, 200);
    setVisible(true);
  }

  public Persona richiediPersona( ) {
    Persona p = new Persona();
    for (int i = Persona.NOME; i <= Persona.MAIL; i++) {
      p.imposta(i, campi[i].getText());
    }
    return p;
  }

  public void actionPerformed(ActionEvent event) {
    this.dispose();
  }
}



MenuAggiunta.java
Created with JBuilder