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

Problemas con getResource

Estas en el tema de Problemas con getResource en el foro de Java en Foros del Web. Hola a todos, tengo un problema que voy a intentar explicar. Tengo un conjunto de imágenes, que son asignadas de la siguiente forma: abajoIcon=new ImageIcon(getClass().getResource(t.elemUsuario.Ite ...
  #1 (permalink)  
Antiguo 19/06/2009, 14:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 43
Antigüedad: 16 años, 2 meses
Puntos: 0
Problemas con getResource

Hola a todos,
tengo un problema que voy a intentar explicar.

Tengo un conjunto de imágenes, que son asignadas de la siguiente forma:

abajoIcon=new ImageIcon(getClass().getResource(t.elemUsuario.Ite m("Abajo").nombreImagen));

por ejemplo, donde

t.elemUsuario.Item("Abajo").nombreImagen

devuelve:

/Imagenes/EstiloAzul/arribaAzul.gif

Entonces, desde la interfaz, puedo cambiar esa imagen, que es escogida desde un JFileChooser

Y al cambiar esa imagen, quiero poner en elemento.nombreImagen:

File file = fch.getSelectedFile();
elemento.nombreImagen = file.getAbsolutePath();
ImageIcon tmpIcon= new ImageIcon(file.getPath());
elemento.Imagen = new ImageIcon(tmpIcon.getImage());

la ruta correcta para que me la coja al hacer
abajoIcon=new ImageIcon(getClass().getResource(t.elemUsuario.Ite m("Abajo").nombreImagen));

tanto para las imagenes que han sido cambiadas, como para las que no (para las rutas relativas, y para las absolutas).

He probado, como he puesto arriba a poner:
elemento.nombreImagen = file.getAbsolutePath();


Pero no encuentra la imagen de esa forma al hacer getResource, aunque la imagen sí la asigna correctamente.

Qué es lo que tengo que poner en nombreImagen para que me coja la imagen al hacer getResource?

Espero que me haya explicado bien, es difícil de explicar.


Muchas gracias de antemano :)
  #2 (permalink)  
Antiguo 21/06/2009, 09:26
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: Problemas con getResource

Buenas:

El problema reside en que cuando pones file.getAbsolutePath() te devuelve toda la ruta del fichero, es decir, te devolvería algo así como C:\Documents and Settings\usuario\Mis documentos\Proyecto\Imagenes\EstiloAzul\arribaAzul .gif, lo que no concuerda con el nombre que deseas almacenar. El problema reside en que tu lo que quieres es una pequeña parte de esta dirección. Lo que puedes hacer es tratar esta dirección y quedarte sólo con la parte que te interesa. Otra opción es encontrar una función que acepte rutas absolutas, y no relativas como en el caso del getResource, que parte de la ruta del proyecto.

Saludos.
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 08:16.