codice:private class FrameAggiungiNominativo extends JFrame implements ActionListener{ private JTextField cognome, nome, prefisso, telefono; private JButton ok; public FrameAggiungiNominativo(){ setTitle("Aggiunta Nominativo"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ if(verificaUscita()){ agendina.aggiungi(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome.toUpperCase(), FinestraGUI.this.prefisso, FinestraGUI.this.telefono)); } cognome.setText(""); nome.setText(""); prefisso.setText(""); telefono.setText(""); cognomeOk = false; nomeOk = false; prefissoOk = false; telefonoOk = false; FrameAggiungiNominativo.this.setVisible(false); } }// windowClosing ); cognomeOk = false; nomeOk = false; prefissoOk = false; telefonoOk = false; JPanel p = new JPanel(); p.setLayout(new FlowLayout()); // ridondante p.add(new JLabel("Cognome", JLabel.RIGHT)); p.add(cognome = new JTextField("", 12)); p.add(new JLabel("Nome", JLabel.RIGHT)); p.add(nome = new JTextField("", 12)); p.add(new JLabel("Prefisso", JLabel.RIGHT)); p.add(prefisso = new JTextField("", 12)); p.add(new JLabel("Telefono", JLabel.RIGHT)); p.add(telefono = new JTextField("", 12)); p.add(ok = new JButton("OK")); add(p); cognome.addActionListener(this); nome.addActionListener(this); prefisso.addActionListener(this); telefono.addActionListener(this); ok.addActionListener(this); setLocation(250, 340); setSize(400, 150); } public void actionPerformed(ActionEvent e){ if(e.getSource() == cognome){ FinestraGUI.this.cognome = cognome.getText(); FinestraGUI.this.cognomeOk = true; } if(e.getSource() == nome){ FinestraGUI.this.nome = nome.getText(); FinestraGUI.this.nomeOk = true; } if(e.getSource() == prefisso){ FinestraGUI.this.prefisso = prefisso.getText(); FinestraGUI.this.prefissoOk = true; } if(e.getSource() == telefono){ FinestraGUI.this.telefono = telefono.getText(); FinestraGUI.this.telefonoOk = true; }else if(e.getSource() == ok){ if(verificaUscita()){ agendina.aggiungi(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome.toUpperCase(), FinestraGUI.this.prefisso, FinestraGUI.this.telefono)); this.setVisible(false); cognomeOk = false; nomeOk = false; prefissoOk = false; telefonoOk = false; cognome.setText(""); nome.setText(""); prefisso.setText(""); telefono.setText(""); } } }// actionPerformed private boolean verificaUscita(){ return cognomeOk && nomeOk && prefissoOk && telefonoOk; }// verificaUscita }// FrameAggiungiNominativo private class FrameRimuoviNominativo extends JFrame implements ActionListener{ private JTextField cognome, nome; private JButton ok; public FrameRimuoviNominativo(){ setTitle("Rimozione Nominativo"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ if(verificaUscita()){ agendina.rimuovi(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome.toUpperCase(), "", "")); } cognomeOk = false; nomeOk = false; cognome.setText(""); nome.setText(""); FrameRimuoviNominativo.this.setVisible(false); }// windowClosing }); cognomeOk = false; nomeOk = false; prefissoOk = false; telefonoOk = false; JPanel p = new JPanel(); p.setLayout(new FlowLayout()); // ridondante p.add(new JLabel("Cognome", JLabel.RIGHT)); p.add(cognome = new JTextField("", 12)); p.add(new JLabel("Nome", JLabel.RIGHT)); p.add(nome = new JTextField("", 12)); p.add(ok = new JButton("OK")); add(p); cognome.addActionListener(this); nome.addActionListener(this); ok.addActionListener(this); setLocation(250, 340); setSize(400, 150); } public void actionPerformed(ActionEvent e){ if(e.getSource() == cognome){ FinestraGUI.this.cognome = cognome.getText(); FinestraGUI.this.cognomeOk = true; } if(e.getSource() == nome){ FinestraGUI.this.nome = nome.getText(); FinestraGUI.this.nomeOk = true; }else if(e.getSource() == ok){ if(verificaUscita()){ agendina.rimuovi(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome.toUpperCase(), "", "")); this.setVisible(false); cognome.setText(""); nome.setText(""); } } }// actionPerformed private boolean verificaUscita(){ return cognomeOk && nomeOk; }// verificaUscita }// FrameRimuoviNominativo private class FrameTelefonoDi extends JFrame implements ActionListener{ private JTextField cognome, nome; private JButton ok; public FrameTelefonoDi(){ setTitle("Ricerca telefono di un nominativo"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ if(verificaUscita()){ Nominativo n = agendina.cerca(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome .toUpperCase(), "", "")); cognome.setText(""); nome.setText(""); if(n != null) JOptionPane.showMessageDialog(null, "Telefono della persona cercata: " + n.getPrefisso() + "-" + n.getTelefono()); else JOptionPane.showMessageDialog(null, "Nominativo inesistente!"); } FrameTelefonoDi.this.setVisible(false); } }); cognomeOk = false; nomeOk = false; JPanel p = new JPanel(); p.setLayout(new FlowLayout()); // ridondante p.add(new JLabel("Cognome", JLabel.RIGHT)); p.add(cognome = new JTextField("", 12)); p.add(new JLabel("Nome", JLabel.RIGHT)); p.add(nome = new JTextField("", 12)); p.add(ok = new JButton("OK")); add(p); cognome.addActionListener(this); nome.addActionListener(this); ok.addActionListener(this); setLocation(250, 340); setSize(400, 150); } public void actionPerformed(ActionEvent e){ if(e.getSource() == cognome){ FinestraGUI.this.cognome = cognome.getText(); FinestraGUI.this.cognomeOk = true; } if(e.getSource() == nome){ FinestraGUI.this.nome = nome.getText(); FinestraGUI.this.nomeOk = true; }else if(e.getSource() == ok){ if(verificaUscita()){ Nominativo n = agendina.cerca(new Nominativo(FinestraGUI.this.cognome.toUpperCase(), FinestraGUI.this.nome .toUpperCase(), "", "")); this.setVisible(false); cognome.setText(""); nome.setText(""); if(n != null) JOptionPane.showMessageDialog(null, "Telefono della persona cercata: " + n.getPrefisso() + "-" + n.getTelefono()); else JOptionPane.showMessageDialog(null, "Nominativo inesistente!"); } } }// actionPerformed private boolean verificaUscita(){ return cognomeOk && nomeOk; }// verificaUscita }// FrameTelefonoDi private class FramePersonaDi extends JFrame implements ActionListener{ private JTextField prefisso, telefono; private JButton ok; public FramePersonaDi(){ setTitle("Ricerca persona di prefisso e telefono"); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ if(verificaUscita()){ Nominativo n = agendina.cerca(FinestraGUI.this.prefisso, FinestraGUI.this.telefono); prefisso.setText(""); telefono.setText(""); if(n != null) JOptionPane.showMessageDialog(null, "Persona trovata: " + n.getCognome().toUpperCase() + " " + n.getNome().toUpperCase()); else JOptionPane.showMessageDialog(null, "Nominativo inesistente!"); } FramePersonaDi.this.setVisible(false); } }); prefissoOk = false; telefonoOk = false; JPanel p = new JPanel(); p.setLayout(new FlowLayout()); // ridondante p.add(new JLabel("Prefisso", JLabel.RIGHT)); p.add(prefisso = new JTextField("", 12)); p.add(new JLabel("Telefono", JLabel.RIGHT)); p.add(telefono = new JTextField("", 12)); p.add(ok = new JButton("OK")); add(p); prefisso.addActionListener(this); telefono.addActionListener(this); ok.addActionListener(this); setLocation(250, 340); setSize(400, 150); } public void actionPerformed(ActionEvent e){ if(e.getSource() == prefisso){ FinestraGUI.this.prefisso = prefisso.getText(); FinestraGUI.this.prefissoOk = true; } if(e.getSource() == telefono){ FinestraGUI.this.telefono = telefono.getText(); FinestraGUI.this.telefonoOk = true; }else if(e.getSource() == ok){ if(verificaUscita()){ Nominativo n = agendina.cerca(FinestraGUI.this.prefisso, FinestraGUI.this.telefono); this.setVisible(false); prefisso.setText(""); telefono.setText(""); if(n != null) JOptionPane.showMessageDialog(null, "Persona trovata: " + n.getCognome().toUpperCase() + " " + n.getNome().toUpperCase()); else JOptionPane.showMessageDialog(null, "Nominativo inesistente!"); } } }// actionPerformed private boolean verificaUscita(){ return prefissoOk && telefonoOk; }// verificaUscita }// FramePersonaDi private class FrameElenco extends JFrame{ private JTextArea area; public FrameElenco(){ setTitle("Elenco Nominativi"); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); JPanel p = new JPanel(); p.setLayout(new FlowLayout()); // ridondante JTextArea area = new JTextArea(10, 25); area.setEditable(false); JScrollPane sp = new JScrollPane(area); p.add(sp); add(p); if(agendina.size() != 0) area.append(agendina.toString()); else area.append("Agendina vuota!"); setLocation(250, 340); setSize(400, 150); } }// FrameElenco private void menuIniziale(){ apri.setEnabled(false); salva.setEnabled(false); salvaConNome.setEnabled(false); aggiungiNominativo.setEnabled(false); rimuoviNominativo.setEnabled(false); numeroNominativi.setEnabled(false); svuota.setEnabled(false); telefonoDi.setEnabled(false); personaDi.setEnabled(false); elenco.setEnabled(false); }// menuIniziale private void menuAvviato(){ tipoAL.setEnabled(false); tipoLL.setEnabled(false); tipoSet.setEnabled(false); tipoMap.setEnabled(false); apri.setEnabled(true); salva.setEnabled(true); salvaConNome.setEnabled(true); aggiungiNominativo.setEnabled(true); rimuoviNominativo.setEnabled(true); numeroNominativi.setEnabled(true); svuota.setEnabled(true); telefonoDi.setEnabled(true); personaDi.setEnabled(true); elenco.setEnabled(true); }// menuAvviato private boolean consensoUscita(){ int option = JOptionPane.showConfirmDialog(null, "Continuare ?", "Uscendo si perderanno tutti i dati non salvati!", JOptionPane.YES_NO_OPTION); return option == JOptionPane.YES_OPTION; }// consensoUscita

Rispondi quotando