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

public class MenuModifica
    extends JDialog
    implements ActionListener {

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

  public MenuModifica(JFrame owner, String nome, String cognome) {
    // 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]);
    }
    //Il nome e il cognome della persona sono già impostati
    campi[Persona.NOME].setText(nome);
    campi[Persona.NOME].disable();
    campi[Persona.COGNOME].setText(cognome);
    campi[Persona.COGNOME].disable();

    // 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 modificaPersona( ) {
    Persona p = new Persona();
    p.imposta(Persona.NOME, campi[Persona.NOME].getText());
    p.imposta(Persona.COGNOME, campi[Persona.COGNOME].getText());
    for (int i = Persona.INDIRIZZO; i <= Persona.MAIL; i++) {
      p.imposta(i, campi[i].getText());
    }
    return p;
  }

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



MenuModifica.java
Created with JBuilder