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(); } }