0

El error es este:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at Formularios.frmEncuestados.MostrarEnTabla(frmEncuestados.java:684) at Formularios.frmEncuestados.formInternalFrameOpened(frmEncuestados.java:678)

Llevo mucho tiempo intentando resolver esto y he leído ya las otras preguntas resueltas pero aun no logro entender como arreglar mi problema, si alguien me puede ayudar viendo mi código, se lo agradecería demasiado

public class Datos { 
    private ArrayList<Encuestados> misEncuestados = new ArrayList<>();

    public Datos(){
        //Creamos un objeto miEncuestado para posteriormente guardarlo en el arraylist misEncuestados
        Encuestados miEncuestado = new Encuestados(1, "Jose Fernando", "Perea Echavarria", 1, 930000, 1);
        misEncuestados.add(miEncuestado); //Guardamos el objeto creado    
    }

    //Metodo para que el arraylist pueda ser llamado desde otra clase
    public ArrayList<Encuestados> getEncuestados(){ 
        return misEncuestados;
    }

    public String agregarCliente (Encuestados miEncuestado){
        misEncuestados.add(miEncuestado);
        return "Usuario agregado correctamente";
    }  
}

private void formInternalFrameOpened(javax.swing.event.InternalFrameEvent evt) 
{                                         
    MostrarEnTabla(); //Linea 678
}                                        


public void MostrarEnTabla() {

    String matris[][] = new String[misDatos.getEncuestados().size()][6]; //Linea 684

    for (int i = 0; i < misDatos.getEncuestados().size(); i++) {
        matris[i][0] = String.valueOf(misDatos.getEncuestados().get(i).getIdentificacion());
        matris[i][1] = misDatos.getEncuestados().get(i).getNombres();
        matris[i][2] = misDatos.getEncuestados().get(i).getApellidos();
        matris[i][3] = String.valueOf(misDatos.getEncuestados().get(i).getGenero());
        matris[i][4] = String.valueOf(misDatos.getEncuestados().get(i).getIngresos());
        matris[i][5] = String.valueOf(misDatos.getEncuestados().get(i).getMunicipio());
    }
DevMind
  • 5,025
  • 11
  • 29
  • 60
jfperea
  • 57
  • 5
  • 2
    Posible duplicado de [¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?](https://es.stackoverflow.com/questions/42977/cu%c3%a1l-es-la-soluci%c3%b3n-a-todos-los-errores-nullpointerexception-presentes-pasados) – Ruslan López Jun 24 '19 at 20:13
  • `misDatos.getEncuestados()` te da null, por ello es como si pusieras `null.size()` – Ruslan López Jun 24 '19 at 20:13
  • @RuslanLópez pero no entiendo por que me devuelve null si ya le mande un objeto, mira el codigo donde le mando un objeto: https://pastebin.com/ugwag7hz – jfperea Jun 24 '19 at 20:17

1 Answers1

0

En el fragmento de código que aportas no se ve cuando creas un nuevo Dato, también probé tu código y parece ser ese ese el error.
Como te dicen el error se debe a que recibe un objeto nulo, así que debes crearlo,supongo que en el método MostrarEnTabla().

 public void MostrarEnTabla() {


         //Creas un nuevo objeto Datos
           misDatos = new Datos();

            String matris[][] = new String[misDatos.getEncuestados().size()][6]; //Linea 684

            for (int i = 0; i < misDatos.getEncuestados().size(); i++) {
                matris[i][0] = String.valueOf(misDatos.getEncuestados().get(i).getIdentificacion());
                matris[i][1] = misDatos.getEncuestados().get(i).getNombres();
                matris[i][2] = misDatos.getEncuestados().get(i).getApellidos();
                matris[i][3] = String.valueOf(misDatos.getEncuestados().get(i).getGenero());
                matris[i][4] = String.valueOf(misDatos.getEncuestados().get(i).getIngresos());
                matris[i][5] = String.valueOf(misDatos.getEncuestados().get(i).getMunicipio());
            }

        }
Yeison A
  • 149
  • 1
  • 11
  • capo jaja, ya me ejecuta y me carga los datos precreados al JTable, ahora solo me falta hacer que cuando agregue un nuevo usuario me actualice la tabla, pero me arreglaste el problema crack. – jfperea Jun 24 '19 at 21:06