Ayuda jLabel

Buenos dias! antes que nada muchas gracias por aceptarme!
Estoy haciendo un Black Jack..
lo tengo terminado pero me surgio un problema.. al hacer el .jar y abrirlo y comenzar a jugar no me tira las imagenes de las cartas.. cosa que iniciandolo del compilador funciona sin ningun problema..
a partir de la siguiente linea de codigo surge el problema
jLabel4.setIcon(new ImageIcon(getClass().getResource("/img/
"+cartaj1+".PNG")));

Aclaro que "cartaj1" es una variable int a la que le asigno un random (52)..
les dejo una imagen con lo que deberia hacer al apretar el boton comenzar y lo q me sucede en el .jar

http://www.imagebam.com/image/4ded32269028552][IMG]http://thumbnails107.imagebam.com/26903/4ded32269028552.jpg
Sera que la variable que esta metida ahi sera el problema?
aclaro que uso el NETBEANS

Mil gracias!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Es probable que la imagen la

Es probable que la imagen la tengas dentro del jar y la quieras leer desde ahi usando: "/img/N.PNG". y te esta devolviendo null ( no aclaras si te esta devolviendo null o no o cual es el problema, las imagenes en tus links no se ven muy bien )

Hay dos opciones.

- Copiar las imagenes a una carpeta relativa al class path ( como img en tu codigo ) lo cual puede ser un tanto problematico pues tienes que escribir codigo para desempacar la imagen.

- O la otra opcion es leer la imagen directamente del jar

Yo haria lo segundo. Para leer las imagenes directamente desde el jar revisa este link.

http://stackoverflow.com/a/1435649/20654

Basicamente tienes que leer el nombre correcto de la imagen desde un ZipEntry

Perdon si no me explique

Perdon si no me explique bien.. Lo que me pasa es que cuando hago funcionar el programa desde el netbeans todo anda bien no me tira ningun error ni nada.. Cuando creo el .jar al comenzar el juego me pone las imagenes de la parte trasera de las cartas(como se ve en las fotos), pero no me tira las imagenes de las cartas (la imagen izquierda se ve esto)..
Lo raro es que la imagen de la parte trasera de las cartas funciona pero no cuando quiero ver la parte delantera de las cartas.. vuelvo a aclarar que esto solo me sucede en el .jar
las imagenes estan en un Packages que cree que se llama img.. por eso utilizo"/img/"..
Se me hace que el problema esta en que uso una variable dentro del setIcon
jLabel4.setIcon(new ImageIcon(getClass().getResource("/img/
"+ CARTAJ1 +".PNG")));

Muchas gracias por tu respuesta

Ah vaya.. Es probable que la

Ah vaya..

Es probable que la imagen la tengas dentro del jar y la quieras leer desde ahi usando "/img/N.PNG" y te esta devolviendo null....

...

El problema no es la variable dentro de setIcon

Para que veas que esta pasando reemplaza esta linea:

jLabel4.setIcon(new ImageIcon(getClass().getResource("/img/"+ CARTAJ1 +".PNG")));

Por esta otra:

URL url = getClass().getResource("/img/"+ CARTAJ1 +".PNG");
System.out.printf(" El valor del url es %s%n", url );
jLabel4.setIcon(new ImageIcon(url));

Y veras que cuando lo corres desde el IDE ( netbeans ) te aparece un valor correcto y cuando lo corres desde el jar te aparece null.

Si es asi vuelve a leer esta respuesta:

http://www.javamexico.org/foros/java_standard_edition/ayuda_jlabel#comme...

Saludos :)