Foros del Web » Programación para mayores de 30 ;) » Java »

java.lang.NullPointerException

Estas en el tema de java.lang.NullPointerException en el foro de Java en Foros del Web. Hola soy nuevo en temas de java y practico con un libro, pero al copiar el codigo a netbeans me sale un error con java.lang.NullPointerException. ...
  #1 (permalink)  
Antiguo 17/12/2013, 20:43
 
Fecha de Ingreso: diciembre-2013
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
java.lang.NullPointerException

Hola soy nuevo en temas de java y practico con un libro, pero al copiar el codigo a netbeans me sale un error con java.lang.NullPointerException. Me parece que el error esta en el metodo cargarImagenes pero no logro dar con el. Espero su ayuda pues no se cual es el problema. Gracias


Código Java:
Ver original
  1. public final class PanelPrincipal extends javax.swing.JPanel {
  2.  
  3.     final int maximo = 27;
  4.     private ImageIcon imagen[] = new ImageIcon[maximo];
  5.     private int actual = 0;
  6.    
  7.     public PanelPrincipal() {
  8.         initComponents();
  9.         cargarImagenes();
  10.     }
  11.    
  12.     public void cargarImagenes(){
  13.         String path = "/imagenes/rostro";
  14.         String nombre;
  15.         for(int i=1; i<=maximo; i++){
  16.             if(i<10)
  17.                 nombre = path + "0" + i + ".jpg";
  18.             else
  19.                 nombre = path + i + ".jpg";
  20.            
  21.         imagen[i-1] = new ImageIcon(getClass().getResource(nombre));
  22.         }
  23.     }
  24.    
  25.     private void btnPrimeroActionPerformed(java.awt.event.ActionEvent evt) {                                          
  26.         actual = 0;
  27.         visualiza();
  28.     }                                          
  29.     public void visualiza(){
  30.         lblImagen.setText("" + (actual + 1));
  31.         lblImagen.setIcon(imagen[actual]);
  32.     }    
  33.     private void btnSiguienteActionPerformed(java.awt.event.ActionEvent evt) {                                            
  34.         if(actual < (maximo - 1))
  35.             actual ++;
  36.         else
  37.             actual = 0;
  38.         visualiza();
  39.     }                                            
  40.  
  41.     private void btnAnteriorActionPerformed(java.awt.event.ActionEvent evt) {                                            
  42.         if(actual > 0)
  43.             actual--;
  44.         else
  45.             actual = maximo - 1;
  46.         visualiza();
  47.     }                                          
  48.  
  49.     private void btnUltimoActionPerformed(java.awt.event.ActionEvent evt) {                                          
  50.         actual = maximo - 1;
  51.         visualiza();
  52.     }                                        
  53. }

Última edición por razpeitia; 17/12/2013 a las 23:42
  #2 (permalink)  
Antiguo 18/12/2013, 09:27
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: java.lang.NullPointerException

No dices dónde te da el error, pero viendo por encima tu código ¿tienes una carpeta /imagenes/rostro con 27 imágenes numeradas?

Muevo tu tema al foro de Java.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 18/12/2013, 10:15
 
Fecha de Ingreso: diciembre-2013
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Mensaje Respuesta: java.lang.NullPointerException

Si, tengo creada una carpeta "/imagenes/rostro" con 27 imagenes.
El error que arroja apunta a las lineas donde se encuentra el metodo "cargarImagenes()" y ell arreglo de imagenes"imagen[i-1] = new ImageIcon(getClass().getResource(nombre))".
Espero su ayuda.
Gracias.

Por si las dudas copio y pego las lineas de error :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:205)
at problema01.PanelPrincipal.cargarImagenes(PanelPrin cipal.java:21)
at problema01.PanelPrincipal.<init>(PanelPrincipal.ja va:9)
at problema01.Principal.<init>(Principal.java:16)
at problema01.Principal$1.run(Principal.java:66)
at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:727)
at java.awt.EventQueue.access$200(EventQueue.java:103 )
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege (ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 697)
at java.awt.EventDispatchThread.pumpOneEventForFilter s (EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarch y (EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:91)
  #4 (permalink)  
Antiguo 18/12/2013, 10:39
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: java.lang.NullPointerException

Viendo dónde dices que te da el error (en el constructor de ImageIcon at javax.swing.ImageIcon.<init>(ImageIcon.java:205) ) lo más posible es que esto getClass().getResource(nombre) te esté devolviendo null.

Echa un ojo a esto, quizás pueda serte de interés para ayudarte a resolver el problema http://micro-blog.chuidiang.org/cont...sourceasstream

Fíjate también que para cargar con Class.getResource(), ese directorio /imagenes tiene que formar parte del classpath.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: programación-general
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:46.