Java - Registro en ArrayList

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 10 puestos en Java (en relación al último mes)
Gráfica de Java

Registro en ArrayList

Publicado por Luis (6 intervenciones) el 27/02/2019 06:45:09
Hola comunidad estoy trabajando con modelo tres capas en netbeans y usando arraylist y archivos en java swing.

Mi duda es la siguiente, tengo una clase padre llamada Persona y las clases que heredan son:

Estudiante, Profesor,Administracion cada una con sus metodos .

Lo que yo quiero es guardar los dados basicos de la clase Estudiante ,Profesor y administrativo en el mismo arraylist solo he podido guardar el estudiante pero no se de que forma agregaria profesor y administracion.
El codigo es el siguiente: que incluye paquete de datos , negocio y presentacion.

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
package datos;
 
 
import java.io.*;
import java.io.PrintWriter;
import java.util.ArrayList;
 
public class ManejoArchivos {
 
     //metodo para guardar los datos del archivo de texto pero este recibe es a un estudiante
     //no una arraylist 
 
    public static void guardarEstudiante(Estudiante estudiante){
        try{
            FileWriter archivo;
            PrintWriter escritor;
            archivo  = new FileWriter("estudiante.txt",true);
            escritor = new PrintWriter(archivo);
 
            escritor.println(estudiante.getIdentidad()+";"+estudiante.getNombres()+";"+estudiante.getApellidos());
 
            escritor.close();
 
        }catch(Exception error){}
    }
 
package datos;
 
public class Persona {
    private String identidad;
    private String nombres;
    private String apellidos;
 
    /**
     * @return the identidad
     */
    public String getIdentidad() {
        return identidad;
    }
 
    /**
     * @param identidad the identidad to set
     */
    public void setIdentidad(String identidad) {
        this.identidad = identidad;
    }
 
    /**
     * @return the nombres
     */
    public String getNombres() {
        return nombres;
    }
 
    /**
     * @param nombres the nombres to set
     */
    public void setNombres(String nombres) {
        this.nombres = nombres;
    }
 
    /**
     * @return the apellidos
     */
    public String getApellidos() {
        return apellidos;
    }
 
    /**
     * @param apellidos the apellidos to set
     */
    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }
}



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
package negocio;
 
import datos.entidades.Estudiante;//este paquete esta dentro de datos
import datos.ManejoArchivos;
 
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
 
public class Estudiante extends Persona {
 
 
 
    public static String guardarEstudiante(String identidad, String nombres, String apellidos){
 
        if(validarVacio(identidad, nombres, apellidos)){
            return "Existen campos vacios, valide la información";
        }else{
            Estudiante estudiante = new Estudiante();
 
            estudiante.setIdentidad(identidad);
            estudiante.setNombres(nombres);
            estudiante.setApellidos(apellidos);
 
            ManejoArchivos.guardarEstudiante(estudiante);
 
            return "Información Guardada";
        }
    }
 
    public static DefaultTableModel getDatos(){
        DefaultTableModel modelo = new DefaultTableModel();
        ArrayList<Estudiante> lista = ManejoArchivos.getDatos();
        String[] columnas = {"Identidad","Nombres","Apellidos"};
 
        modelo.setColumnIdentifiers(columnas);
 
        for(Estudiante e:lista){
            String[] fila = {e.getIdentidad(),e.getNombres(),e.getApellidos()};
            modelo.addRow(fila);
        }
        return modelo;
    }
 
    private static boolean validarVacio(String identidad, String nombres, String apellidos){
        if(identidad.trim().equals("") || nombres.trim().equals("") || apellidos.trim().equals("")){
            return true;
        }
        return false;
    }
}


1
2
3
4
5
6
7
8
9
package presentacion;
 
private void guardarBtnActionPerformed(java.awt.event.ActionEvent evt) {
    String respuesta = ProcesosEstudiantes.guardarEstudiante(identidadTexto.getText().trim(), nombretexto.getText().trim(), apellidosTexto.getText().trim());
    JOptionPane.showMessageDialog(rootPane, respuesta);
 
    //este es un boton con la opcion guardar de la interfaz grafica
 
}
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

Registro en ArrayList

Publicado por Tom (1698 intervenciones) el 27/02/2019 09:26:37
ArrayList<Persona> personal = new ArrayList<>();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 10 puestos en Java (en relación al último mes)
Gráfica de Java

Registro en ArrayList

Publicado por Luis (6 intervenciones) el 27/02/2019 13:46:25
Mmm entonces ya no declaro el árraylist cómo Estudiante sino como Persona personal y hay abarcaría a todos los tipos de personas y agregaria sus datos. muchas gracias
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