pregunta sobre ruta (relativa o absoluta)
Hola estoy poniendo iconos a los botones, etiquetas.......de mi aplicación.Bien eso ya esta, pero me ha surgido una duda.Supongamos que el siguiete codigo
ImageIcon icono = new ImageIcon("C:/WINDOWS/Web/tips.gif");
bien el archivo esta en esa ruta, pero lo que yo quiero es tener todos mis iconos en la carpeta imagenes, que este dentro de mi proyecto.Lo que quiero es lo siguiente
ImageIcon icono = new ImageIcon("imagenes/tips.gif");
poner esta ruta, bieny ahora me pregunto yo al no poner el camino absoluto c:....... sino el relativo, sobre que directorio me lo esta abriendo imagenes.
Yo tengo los. class en mis clases, los.java en mis fuentes, el proyecto en mi proyecto.
Donde meto la carpeta imagenes?????? porque he probado en todos lados y no me reconoce las imagenes.
gracias por leer todo esto
ImageIcon icono = new ImageIcon("C:/WINDOWS/Web/tips.gif");
bien el archivo esta en esa ruta, pero lo que yo quiero es tener todos mis iconos en la carpeta imagenes, que este dentro de mi proyecto.Lo que quiero es lo siguiente
ImageIcon icono = new ImageIcon("imagenes/tips.gif");
poner esta ruta, bieny ahora me pregunto yo al no poner el camino absoluto c:....... sino el relativo, sobre que directorio me lo esta abriendo imagenes.
Yo tengo los. class en mis clases, los.java en mis fuentes, el proyecto en mi proyecto.
Donde meto la carpeta imagenes?????? porque he probado en todos lados y no me reconoce las imagenes.
gracias por leer todo esto
Es muy comun tener este tipo de problemas, yo me hize una funcioncita para poder obtener las imagenes desde luna ruta relativa, que es lo que mas te conviene.
Esta es la funcion:
protected static ImageIcon createImageIcon(String path,
String description) {
//FrmLogin es el nombre de la clase
java.net.URL imgURL = FrmLogin.class.getResource(path);
System.out.println("Path:" + imgURL.getPath());
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
//y asi la invocas!!!! FACIL o NO????
ImageIcon iconEntrar = createImageIcon("blue_arrow.gif", "Convert temperature");
Asi de facil quedarÃa resuelto tu problema con rutas relativas para obtener las imagenes, ya que tu proyecto lo podrias distribuir en jar y no tengan problemas los usuarios al ejecutar tu sistema.
Saludos comunidad Open Source!!!!!
Esta es la funcion:
protected static ImageIcon createImageIcon(String path,
String description) {
//FrmLogin es el nombre de la clase
java.net.URL imgURL = FrmLogin.class.getResource(path);
System.out.println("Path:" + imgURL.getPath());
if (imgURL != null) {
return new ImageIcon(imgURL, description);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
//y asi la invocas!!!! FACIL o NO????
ImageIcon iconEntrar = createImageIcon("blue_arrow.gif", "Convert temperature");
Asi de facil quedarÃa resuelto tu problema con rutas relativas para obtener las imagenes, ya que tu proyecto lo podrias distribuir en jar y no tengan problemas los usuarios al ejecutar tu sistema.
Saludos comunidad Open Source!!!!!
hola casi siempre las imagenes se encuentran en una ruta relativa a los .class
por ejemplo si tus .class estan en la carpeta classes, quizá puedas poner tus imagenes ahi mismo quedándote asi tu directorio: clases/images
asi cuando llames una imagen y no tengas problemas debes cargar la ruta relativa asi:
ImageIcon = new ImageIcon( getClass().getResource( images/miImagen.gif ) );
con esto aunque empaquetes tus clases debe poder seguir cargando las imagenes y no tener problemas
por ejemplo si tus .class estan en la carpeta classes, quizá puedas poner tus imagenes ahi mismo quedándote asi tu directorio: clases/images
asi cuando llames una imagen y no tengas problemas debes cargar la ruta relativa asi:
ImageIcon = new ImageIcon( getClass().getResource( images/miImagen.gif ) );
con esto aunque empaquetes tus clases debe poder seguir cargando las imagenes y no tener problemas