I tried to make this program, the problem is in the final part where it refers to add an "agenda". Which does not appear anywhere else in the tutorial except at the end.
Program link link
Business Package.Control
public class Persona {
public String Nombre;
public String Apellidos;
public String Rut;
public String Email;
public String Telefono;
public Persona (String Nombre, String Apellidos, String Rut, String Email, String Telefono){
this.Nombre = Nombre;
this.Apellidos = Apellidos;
this.Rut = Rut;
this.Email = Email;
this.Telefono = Telefono;
}
public Persona(){
}
}
Business Package.Model
import Negocio.Control.Persona;
import java.util.Vector;
import javax.swing.JOptionPane;
public class Agenda {
Vector vector = new Vector();
Persona persona = new Persona();
public void Guardar(Persona persona){
if(vector.add(persona)){
JOptionPane.showMessageDialog(null,"Se ha agregado correctamente la persona");
}
}
public String MostrarAgenda(){
String Linea="",Linea2;
for(int x=0;x<vector.size();x++){
persona=(Persona)vector.get(x);
Linea2=persona.Nombre+" - "+persona.Apellidos+" - "+persona.Rut+" - "+persona.Email+" - "+persona.Telefono;
Linea=Linea+Linea2+"\n";
}
return Linea;
}
}
Presentation Package
import Negocio.Control.Persona;
import javax.swing.JOptionPane;
public class InterfazFormulario extends javax.swing.JFrame {
/**
* Creates new form InterfazFormulario
*/
public InterfazFormulario() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTextField5 = new javax.swing.JTextField();
JLTitulo = new javax.swing.JLabel();
JLNombre = new javax.swing.JLabel();
JLApellidos = new javax.swing.JLabel();
JLRut = new javax.swing.JLabel();
JLEmail = new javax.swing.JLabel();
JLTelefono = new javax.swing.JLabel();
txtNombre = new javax.swing.JTextField();
txtApellidos = new javax.swing.JTextField();
txtRut = new javax.swing.JTextField();
txtEmail = new javax.swing.JTextField();
txtTelefono = new javax.swing.JTextField();
txtValidador = new javax.swing.JTextField();
BotonGuardar = new javax.swing.JButton();
BotonLimpiar = new javax.swing.JButton();
BotonSalir = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
BotonMostrar = new javax.swing.JButton();
jTextField5.setText("jTextField1");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Formulario");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
JLTitulo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
JLTitulo.setText("FORMULARIO DE DATOS");
JLNombre.setText("Nombre");
JLApellidos.setText("Apellidos");
JLRut.setText("Rut");
JLEmail.setText("Email");
JLTelefono.setText("Teléfono");
txtNombre.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtNombreKeyTyped(evt);
}
});
txtApellidos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtApellidosActionPerformed(evt);
}
});
txtApellidos.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtApellidosKeyTyped(evt);
}
});
txtRut.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtRutKeyTyped(evt);
}
});
txtEmail.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtEmailActionPerformed(evt);
}
});
txtEmail.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtEmailKeyTyped(evt);
}
});
txtTelefono.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtTelefonoActionPerformed(evt);
}
});
txtTelefono.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtTelefonoKeyTyped(evt);
}
});
txtValidador.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtValidadorActionPerformed(evt);
}
});
txtValidador.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtValidadorKeyTyped(evt);
}
});
BotonGuardar.setText("Guardar");
BotonGuardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BotonGuardarActionPerformed(evt);
}
});
BotonLimpiar.setText("Limpiar");
BotonLimpiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BotonLimpiarActionPerformed(evt);
}
});
BotonSalir.setText("Salir");
BotonSalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BotonSalirActionPerformed(evt);
}
});
jLabel1.setText("-");
BotonMostrar.setText("Mostrar");
BotonMostrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BotonMostrarActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(29, 29, 29)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(JLNombre)
.addComponent(JLApellidos)
.addComponent(JLRut)
.addComponent(JLEmail)
.addComponent(JLTelefono, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(txtRut, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtValidador, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(txtNombre)
.addComponent(txtApellidos)
.addComponent(txtEmail)
.addComponent(txtTelefono)))
.addGroup(layout.createSequentialGroup()
.addGap(0, 17, Short.MAX_VALUE)
.addComponent(BotonMostrar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BotonGuardar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(BotonLimpiar, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BotonSalir, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(27, 27, 27))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(JLTitulo)
.addGap(57, 57, 57))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addComponent(JLTitulo)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(JLNombre))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtApellidos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(JLApellidos))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtRut, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(JLRut)
.addComponent(txtValidador, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(JLEmail))
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(JLTelefono, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtTelefono, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BotonGuardar)
.addComponent(BotonLimpiar)
.addComponent(BotonSalir)
.addComponent(BotonMostrar))
.addGap(28, 28, 28))
);
pack();
}// </editor-fold>
private void txtValidadorActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtEmailActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtTelefonoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void BotonGuardarActionPerformed(java.awt.event.ActionEvent evt) {
if(txtNombre.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
if(txtApellidos.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
if(txtRut.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
if(txtValidador.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
if(txtEmail.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
if(txtTelefono.getText().equals("")){
JOptionPane.showMessageDialog(null,"Por favor ingrese el nombre");
return;
}
String Nombre,Apellidos,Rut,Email,Telefono;
Nombre=txtNombre.getText();
Apellidos=txtApellidos.getText();
Rut=txtRut.getText()+"-"+txtValidador.getText();
Email=txtEmail.getText();
Telefono=txtTelefono.getText();
Persona persona = new Persona(Nombre,Apellidos,Rut,Email,Telefono);
agenda.GuardarPersona(persona);
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
}
private void BotonSalirActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
private void BotonLimpiarActionPerformed(java.awt.event.ActionEvent evt) {
txtNombre.setText("");
txtApellidos.setText("");
txtRut.setText("");
txtValidador.setText("");
txtEmail.setText("");
txtTelefono.setText("");
}
private void txtNombreKeyTyped(java.awt.event.KeyEvent evt) {
if(txtNombre.getText().length()>=12){
evt.consume();
}
char TipoDeTecla = evt.getKeyChar();
if(Character.isDigit(TipoDeTecla)){
evt.consume();
}
}
private void txtApellidosActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtApellidosKeyTyped(java.awt.event.KeyEvent evt) {
if(txtApellidos.getText().length()>=20){
evt.consume();
}
char TipoDeTecla = evt.getKeyChar();
if(Character.isDigit(TipoDeTecla)){
evt.consume();
}
}
private void txtRutKeyTyped(java.awt.event.KeyEvent evt) {
if(txtRut.getText().length()>=8){
evt.consume();
}
char TipoDeTecla = evt.getKeyChar();
if(!Character.isDigit(TipoDeTecla)){
evt.consume();
}
}
private void txtValidadorKeyTyped(java.awt.event.KeyEvent evt) {
if(txtValidador.getText().length()>=1){
evt.consume();
}
}
private void txtEmailKeyTyped(java.awt.event.KeyEvent evt) {
if(txtEmail.getText().length()>=30){
evt.consume();
}
}
private void txtTelefonoKeyTyped(java.awt.event.KeyEvent evt) {
if(txtTelefono.getText().length()>=9){
evt.consume();
}
char TipoDeTecla = evt.getKeyChar();
if(!Character.isDigit(TipoDeTecla)){
evt.consume();
}
}
private void BotonMostrarActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null,agenda.MostrarAgenda());
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(InterfazFormulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(InterfazFormulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(InterfazFormulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(InterfazFormulario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new InterfazFormulario().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BotonGuardar;
private javax.swing.JButton BotonLimpiar;
private javax.swing.JButton BotonMostrar;
private javax.swing.JButton BotonSalir;
private javax.swing.JLabel JLApellidos;
private javax.swing.JLabel JLEmail;
private javax.swing.JLabel JLNombre;
private javax.swing.JLabel JLRut;
private javax.swing.JLabel JLTelefono;
private javax.swing.JLabel JLTitulo;
private javax.swing.JLabel jLabel1;
private javax.swing.JTextField jTextField5;
private javax.swing.JTextField txtApellidos;
private javax.swing.JTextField txtEmail;
private javax.swing.JTextField txtNombre;
private javax.swing.JTextField txtRut;
private javax.swing.JTextField txtTelefono;
private javax.swing.JTextField txtValidador;
// End of variables declaration
}
I'm almost sure that something needs to be created in Agenda.java
Could someone guide me? In advance, thank you very much.