Direcciones relativas en los .jar

[email protected]
09 de Agosto del 2004
Tengo un problema al cargar imágenes y sonidos. Yo las cargaba de la siguiente manera, la cual me dijeron en este foro ya hace tiempo.

ImageIcon imagen = new ImageIcon (getClass().getClassLoader().getResource("./imagenes/im.jpg"));

Con esto conseguía cargar imágenes tan solo con una dirección relativa, ya que me parecía algo cutre hacerlo con direcciones absolutas, ya que o bien tendría que tener internet para cargarlas o tener mi trabajo en un directorio fijo.
Acabo de terminar dicho trabajo y al ir a hacer un .jar resulta no se por que esto me da un puntero nulo. Pero rápidamente me di cuenta de que tan solo con poner la dirección relativa era suficiente, al menos que lo ejecutase desde consola con esta estructura.

java –jar “dirección absoluta, desde el directorio raíz ”

Si alguien sabe como solucionarlo espero que me lo diga, sino queda como reflexión, ya que no me jode mucho mi trabajo ya que con decir que para ejecutarlo o bien lo haga en modo gráfico o si es desde consola que se haga desde el directorio donde se encuentra dicho archivo .jar.

Lo que si me gustaría saber, es como decir que en vez de cargar las imágenes y sonidos desde la carpeta donde se encuentra el .jar desde dentro de el. Es decir, que en vez de tener en un directorio el .jar y carpetas con imágenes/sonidos, tenerlo todo metido en el . jar. Pero no me mal interpreten no quiero saber como se meten, que es evidente, sino lo que quiero es saber como lo llamaría es decir si quiero llamar a una imagen im que está en una carpeta imágenes.
ImageIcon imagen = new ImageIcon (("./imagenes/im.jpg"); Que debo de poner delante de “./imágenes/im.jpg”.

Muchas gracias por atenderme.