0

Buenas a todos,

Tengo un error java.lang.NullPointerException cuando intento cargar una foto a un JLabel.

este es el siguiente código basándose en el patrón MVC:

  1. esta es el método final que se ejecutara en el JFrame

    private void consultar() {
    PersonaVO usuarioVO = miCoordinador.consultarUsuario(txtConsultar.getText().trim());
    
    
    if (usuarioVO != null) {
        txtNombre.setText(usuarioVO.getNombre());
        txtDocumento.setText(usuarioVO.getDocumento());
        txtProfesion.setText(usuarioVO.getProfesion());
        txtEdad.setText(usuarioVO.getEdad() + "");
        txtTelefono.setText(usuarioVO.getTelefono());
        txtDireccion.setText(usuarioVO.getDireccion());
    
        InputStream is = miCoordinador.consultarImagen(usuarioVO);
        //se carga el inputStream en una variable ImageIcon
        ImageIcon imagen = Funciones.extraerImagen(is);
    
        //lo visualizamos en el label
        lblFoto.setIcon(imagen);
    
    
    } else {
        JOptionPane.showMessageDialog(null, "El usuario no se encuentra registrado en la base de datos!", "Advertencia", JOptionPane.WARNING_MESSAGE);
    }
    
    }//fin consultar
    
  2. este es el metodo en el controlador:

    public InputStream consultarImagen(PersonaVO img) {
    
    return miPDAO.consultarImagen(img);
    }
    
  3. Este es el método en el DAO:

    public InputStream consultarImagen(PersonaVO user){
    
    Connection conn = null;
    InputStream is=null;
    
    try{
        String sql="select foto from clientes where documento=?";
    
        PreparedStatement ps = conn.prepareStatement(sql);
    
        ps.setString(1, user.getDocumento());
    
        ResultSet rs = ps.executeQuery();
    
        while(rs.next()){
            is = rs.getBinaryStream("foto");
        }
        return is;
    }catch(Exception e){
        System.out.println("consultar imagen: "+e);
        return null;
     }
     }//consultarImagen*/
    
  4. y este ultimo es el VO:

    private String documento;
    
    //insersion de la foto y consulta
    private FileInputStream Foto;
    private int fotoLongitud;
    
    //se realizaron dos contructores para poder colocar la imagen
    public PersonaVO() {
    }
    
    public PersonaVO(FileInputStream foto_familia, int foto_longitud, String documento) {
    this.documento = documento;
    this.Foto = foto_familia;
    this.fotoLongitud = foto_longitud;
    }//fin de la realizacion de insersion de la foto
    
    
    public FileInputStream getFoto() {
     return Foto;
    }
    
    public void setFoto(FileInputStream Foto) {
     this.Foto = Foto;
    }
    
    public int getFotoLongitud() {
     return fotoLongitud;
    }
    
    public void setFotoLongitud(int fotoLongitud) {
     this.fotoLongitud = fotoLongitud;
    }
    
    
    
    public String getDocumento() {
     return documento;
    }
    
    public void setDocumento(String documento) {
     this.documento = documento;
    }
    

Estaré muy agradecido de que me ayuden a resolver este inconveniente.

Mirlino
  • 1
  • 2
  • 2
    en que linea de que archivo te sale el error? – Sr1871 May 30 '17 at 18:52
  • totalmente relacionada: https://es.stackoverflow.com/questions/42977/cu%C3%A1l-es-la-soluci%C3%B3n-a-todos-los-errores-nullpointerexception-presentes-pasados – gbianchi May 30 '17 at 18:59
  • hola tengo el mismo problema... cargo las variables de un objeto mediante una query... la cual, ejecutada en MySQL, arroja los resultados deseados, pero cuando corro en netbeans me lanza ese ese error: "java.lang.NullPointerException". mas que una solucion (ya que cada caso de proyecto es un mundo) yo busco entender en que consiste ese error.... me podrias explicar, por favor? – Florencia Cazzola Jul 31 '18 at 18:34

1 Answers1

-1

Ya pude resolverlo gracias a gbianchi.

era que tenia la variable iniciada con null; pero ya lo corregi.

Aquí la respuesta para cualquier pregunta de NPE: ¿Cuál es la solución a todos los errores NullPointerException presentes, pasados y futuros?

Mirlino
  • 1
  • 2