Feeds de los foros

En la página principal de los foros encontrarás los enlaces al logo feed feed general y al de cada uno de los foros.

Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible

Buscar en el foro

Foro J2SE

feed Foro J2SE Foro: J2SE

Nuevo Tema Nuevo Tema

Imagenes Linux vs Windows 17/12/2008 16:15
Xeros

Hola gente.

He hecho una aplicacion (JFrame) que contiene Imagenes jpeg.

Al ejecutarlo en eclipse funciona correctamente.

Asi que lo empaqueto en jar.

Lo pruebo en Windows y funciona bien, pero en Linux (concretamente Ubuntu) no las carga.

¿Por que puede ser?

gracias!

#unapprove_message#
RE: Imagenes Linux vs Windows 17/12/2008 18:09
anonymous pues lo más obvio que me imagino que habrás comprobado es que intentas buscar el archivo con el nombre y la extensión exactamente igual a como están almacenadas físicamente. Es decir, que coinciden mayúsculas y minúsculas porque a windows eso le da igual pero a linux no...
#unapprove_message#
RE: Imagenes Linux vs Windows 17/12/2008 18:22
Xeros

he sido cuidadoso respetando las mayusculas y minusculas y no he usado caracteres especiales (como acentos).

Lo raro es que en eclipse funciona (tanto en windows como linux) pero al empaquetar en jar, dejan de cargarse las imagenes.

Si copio la carpeta de imagenes en mi carpeta de home, entonces se ven, pero no es eso lo q quiero.

#unapprove_message#
RE: Imagenes Linux vs Windows 17/12/2008 19:38
batch4j Para acceder a imagenes dentro de un jar necesitas utilizar un Resource
#unapprove_message#
RE: Imagenes Linux vs Windows 17/12/2008 21:18
anonymous

Por lo que comentas, probablemente tu problema es con las rutas relativas o absolutas, que utilizas para acceder a las imagenes.

 

Esto lo digo porque dices que si cambias la carpeta de imagenes a tu home funciona, yo checaria la forma en como armo las rutas.

 

Saludos Six!!!!

#unapprove_message#
RE: Imagenes Linux vs Windows 17/12/2008 23:53
leliel12

si estas ejecutando el jar desde un entorno grafico, entonces el directorio de trabajo se mantiene como tu home. asi que seguro tu ruta en tu codigo dice algo como "./img" y como para el SO estas en home... buscara las imagenes en "/home/TU_HOME/img". Esto no sucede si ejecutas desde lina de comandos donde si se considera directorio de trabajo el directorio donde te encuentres.

 Consejos:

 Si las imagenes son siempre las mismas, entonces deberian estar empaquetadas en el jar de la aplicacion, o almenos como libreria.

Si las imagenes que se cargan cambian. entonces deberias decir como parametro a tu soft donde estan las imagenes (o un archivo de configuracion) o al momento de arrancar pedir al usuario que seleccione una imagen.

Como digo si las imagenes son estaticas no tiene sentido que no sean parte de tus recursos

 

#unapprove_message#
RE: Imagenes Linux vs Windows 18/12/2008 05:03
RuGI

Hola Xeros...

 

Compartenos un poco de código y podremos tener una mejor idea de la solución .

 

Saludos!!

RuGI 

#unapprove_message#
RE: RE: Imagenes Linux vs Windows 18/12/2008 12:54
Xeros

    public static String path = "Imagenes/";

//También probé con ./Imagenes

...

File ficheroImagenes = new File (path); //Problema: Aquí me crea un File con absolute path dentro de la carpeta home

       LinkedList pathImagenes = recorrer(ficheroImagenes);
       
        while (i < pathImagenes.size())
        {
            Image image = Toolkit.getDefaultToolkit().getImage(pathImagenes.get(i));            imagenes.add(image);
            i++;
        }

 .............................................. .........................

/**
     * Recoge los path de los archivos.
     * */
    public static LinkedList recorrer(File directorio){
       
        LinkedList imagenes = new LinkedList();
        if(directorio.isDirectory()){
            File[] lista = directorio.listFiles();
            System.out.println("Abriendo directorio " + directorio.getName());
           
            for(int i=0; i< lista.length; i++){
                imagenes.addAll(recorrer(lista[i]));               
            }
        }else if(directorio.isFile())
        {
            Log.d(tag, "No es un directorio " +directorio.toString());
            imagenes.add(directorio.toString());
        }
       
        return imagenes;
    }

#unapprove_message#
RE: Imagenes Linux vs Windows 18/12/2008 16:48
RuGI

Agrega la imagen a tu paquete e intenta con getResource

 

	public ResourceTest() throws Exception {
URL myurl = this.getClass().getResource("/myimage.gif");
Toolkit tk = this.getToolkit();
img = tk.getImage(myurl);
} // public ResourceTest()

 

Saludos!!!

RuGI

#unapprove_message#
#thread_expired#.
Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano