Java - ayuda para agregar objetos a un arryalist

 
Vista:
sin imagen de perfil

ayuda para agregar objetos a un arryalist

Publicado por jeisson (2 intervenciones) el 29/04/2018 03:46:01
buenas tardes, esque tengo un problema para ingresar objectos a un arraylist,
este es el codigo de la calse principal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public class BOXWORK {
	private ArrayList<sedes> misede;
    private ArrayList<Entrenador> miEntrenador;
    private ArrayList<Cliente> miCliente;
 
    public BOXWORK()
    {
    	miEntrenador = new ArrayList<Entrenador>();
    	miCliente = new ArrayList<Cliente>();
    }
	public ArrayList<sedes> getMisede() {
		return misede;
	}
	public void setMisede(ArrayList<sedes> misede) {
		this.misede = misede;
	}
	public ArrayList<Entrenador> getMiEntrenador() {
		return miEntrenador;
	}
	public void setMiEntrenador(ArrayList<Entrenador> miEntrenador) {
		this.miEntrenador = miEntrenador;
	}
	public ArrayList<Cliente> getMiCliente() {
		return miCliente;
	}
	public void setMiCliente(ArrayList<Cliente> miCliente) {
		this.miCliente = miCliente;
	}
 
	public Cliente AgregarCliente(String nombre, String id, String direccion, String correoElectronico, String fechaNacimiento)
	{
 
			Cliente nuevo = new Cliente(nombre,id,direccion,correoElectronico,fechaNacimiento);
			miCliente.add(nuevo);
 
		return nuevo;
	}
 
	public Cliente clienteRegistrado(String id)
	{
		Cliente buscado = null;
		for(int i=0; i < miCliente.size();i++)
		{
			Cliente agregado = miCliente.get(i);
 
			if(agregado.equals(id))
			{
				buscado = agregado;
			}
		}
 
		return buscado;
	}
 
	public Entrenador AgregarEntrenador(String nombre, String id, String direccion, String correoElectronico, String fechaNacimineto,
			String estudios, String preferencia)
	{
		Entrenador mieRegistrado = entrenadorRegistrado(id);
		Entrenador nuevo =null;
		if(mieRegistrado!=null)
		{
			nuevo = new Entrenador(nombre,id,direccion,correoElectronico,fechaNacimineto,estudios,preferencia);
			miEntrenador.add(nuevo);
		}
 
		return nuevo;
	}
	public Entrenador entrenadorRegistrado(String id) {
		// TODO Auto-generated method stub
		Entrenador buscado = null;
		for(int i =0; i < miEntrenador.size();i++)
		{
			Entrenador agregado = miEntrenador.get(i);
 
			if(agregado.equals(i))
			{
				buscado = agregado;
			}
		}
		return buscado;
	}
 
}

aqui esta el codigo de la interfaz ,donde le pido la informacion al cliente para guardarla en los tipos de datos adecuados y ingresarla en el objecto y despues ingresar ese objecto en el arraylist para almacenarlo ahi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import java.awt.BorderLayout;
import java.awt.EventQueue;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
 
import fundamentos.proyecto.mundo.Cliente;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;;
public class AgregarCliente extends JFrame implements ActionListener{
 
	private JPanel contentPane;
	private JTextField textFieldNombre;
	private JTextField textFieldDireccion;
	private JTextField textFieldCorreoElectronico;
	private JTextField textField_1FechaNacimiento;
	private JTextField textFieldId;
	private JButton btnSalir;
	private Armenia miArmenia;
	private Pereira miPereira;
	private Medellin miMedellin;
	private Bogota miBogota;
	private Cartagena miCartagena;
	private Cali miCali;
	private JButton btnGuardar;
	private VentanaPrincipal miVentanaPrincipal;
 
	/**
	 * Launch the application.
	 */
	/**
	 * Create the frame.
	 */
	public AgregarCliente(Armenia miArmenia , Pereira miPereira,Medellin miMedellin,Bogota miBogota,Cartagena miCartegena,Cali miCali, VentanaPrincipal miVentanaPrincipal) {
		this.miArmenia = miArmenia;
		this.miPereira= miPereira;
		this.miMedellin= miMedellin;
		this.miBogota = miBogota;
		this.miCartagena = miCartagena;
		this.miCali = miCali;
		this.miVentanaPrincipal= miVentanaPrincipal;
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBackground(Color.LIGHT_GRAY);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
 
		JLabel lblRegistrarse = new JLabel("Registrarse");
		lblRegistrarse.setFont(new Font("Arial", Font.BOLD, 20));
		lblRegistrarse.setBounds(144, 11, 112, 37);
		contentPane.add(lblRegistrarse);
 
		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setFont(new Font("Arial", Font.PLAIN, 15));
		lblNombre.setBounds(34, 62, 64, 14);
		contentPane.add(lblNombre);
 
		textFieldNombre = new JTextField();
		textFieldNombre.setBounds(102, 60, 86, 20);
		contentPane.add(textFieldNombre);
		textFieldNombre.setColumns(10);
 
		JLabel lblDireccion = new JLabel("Direccion:");
		lblDireccion.setFont(new Font("Arial", Font.PLAIN, 15));
		lblDireccion.setBounds(239, 63, 66, 14);
		contentPane.add(lblDireccion);
 
		textFieldDireccion = new JTextField();
		textFieldDireccion.setBounds(315, 60, 86, 20);
		contentPane.add(textFieldDireccion);
		textFieldDireccion.setColumns(10);
 
		JLabel lblCorreoElectronico = new JLabel("Correo electronico:");
		lblCorreoElectronico.setFont(new Font("Arial", Font.PLAIN, 15));
		lblCorreoElectronico.setBounds(10, 101, 124, 14);
		contentPane.add(lblCorreoElectronico);
 
		textFieldCorreoElectronico = new JTextField();
		textFieldCorreoElectronico.setBounds(167, 99, 86, 20);
		contentPane.add(textFieldCorreoElectronico);
		textFieldCorreoElectronico.setColumns(10);
 
		JLabel lblFechaDeNacimiento = new JLabel("Fecha de nacimiento:");
		lblFechaDeNacimiento.setFont(new Font("Arial", Font.PLAIN, 15));
		lblFechaDeNacimiento.setBounds(10, 151, 147, 14);
		contentPane.add(lblFechaDeNacimiento);
 
		textField_1FechaNacimiento = new JTextField();
		textField_1FechaNacimiento.setBounds(167, 149, 86, 20);
		contentPane.add(textField_1FechaNacimiento);
		textField_1FechaNacimiento.setColumns(10);
 
		JLabel id = new JLabel("ID");
		id.setFont(new Font("Arial", Font.PLAIN, 15));
		id.setBounds(280, 105, 46, 14);
		contentPane.add(id);
 
		textFieldId = new JTextField();
		textFieldId.setBounds(325, 101, 86, 20);
		contentPane.add(textFieldId);
		textFieldId.setColumns(10);
 
		btnSalir = new JButton("Salir");
		btnSalir.setFont(new Font("Arial", Font.PLAIN, 15));
		btnSalir.addActionListener(this);
		btnSalir.setBounds(322, 227, 78, 23);
		contentPane.add(btnSalir);
 
		btnGuardar = new JButton("Guardar");
		btnGuardar.setFont(new Font("Arial", Font.PLAIN, 15));
		btnGuardar.addActionListener(this);
		btnGuardar.setBounds(34, 200, 89, 23);
		contentPane.add(btnGuardar);
	}
 
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
 
		if(arg0.getSource()==btnGuardar)
		{
			String nombre = textFieldNombre.getText();
			String id = textFieldId.getText();
			String direccion = textFieldDireccion.getText();
			String correoElectronico = textFieldCorreoElectronico.getText();
			String fechaNacimiento = textField_1FechaNacimiento.getText();
		miVentanaPrincipal.AgregarCliente(nombre, id, direccion, correoElectronico, fechaNacimiento);
		}
		else
		{
			if(arg0.getSource()==btnSalir)
			{
				System.exit(0);
			}
		}
 
	}
}


pero cuando le doy al boto de guardar me sale este error y no entiendo que es y estoy atascado en este problema
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at fundamentos.proyecto.interfaz.AgregarCliente.actionPerformed(AgregarCliente.java:137)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)

esepro que me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kingk
Val: 247
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda para agregar objetos a un arryalist

Publicado por kingk (108 intervenciones) el 30/04/2018 17:23:29
Hola, hay algunos errores en el código, por ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Cliente clienteRegistrado(String id)
{
    Cliente buscado = null;
    for(int i=0; i < miCliente.size();i++)
    {
        Cliente agregado = miCliente.get(i);
 
        if(agregado.equals(id))
        {
            buscado = agregado;
        }
    }
 
    return buscado;
}
En este método comparas un Objeto Cliente con un String. Lo correcto seria por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Cliente clienteRegistrado(String id)
{
    Cliente buscado = null;
    for(int i=0; i < miCliente.size();i++)
    {
        Cliente agregado = miCliente.get(i);
 
        if(agregado.getId().equals(id))
        {
            buscado = agregado;
        }
    }
 
    return buscado;
}

También en el siguiente método:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public Entrenador entrenadorRegistrado(String id) {
    // TODO Auto-generated method stub
    Entrenador buscado = null;
    for(int i =0; i < miEntrenador.size();i++)
    {
        Entrenador agregado = miEntrenador.get(i);
 
        if(agregado.equals(i))
        {
            buscado = agregado;
        }
    }
    return buscado;
}

Debería ser así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public Entrenador entrenadorRegistrado(String id) {
    // TODO Auto-generated method stub
    Entrenador buscado = null;
    for(int i =0; i < miEntrenador.size();i++)
    {
        Entrenador agregado = miEntrenador.get(i);
 
        if(agregado.getId().equals(i))
        {
            buscado = agregado;
        }
    }
    return buscado;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar