jar problema imagenes

kitty
05 de Julio del 2004
lo que pasa es que creo mi archivo jar todo funciona bien
ahora lo que pasa esque tengo
2 imagenes y un archivo de texo que tambien agrego al jar de la sigueite forma:
jar cvfm miprog.jar MANIFEST.MF *.class archivo.txt imagen.gif

y si los agrega pero a la hora de ejecutarlo no los reconoce el ni el txt ni las imagenes

solo cuando los ejecuto en el mismo directorio donde estan las imagenes pero eneste caso de que sirve que los haya agrgado al jar

como soluciono esto se puede o no

sphinx101
05 de Julio del 2004
Saludos!!
Yo tuve el mismo problema cuando queria acceder a unas images en el jar el cual creo, solamente me las cargaba cuando las imagenes estaban en el mismo paquete que la clase la cual las cargaba, pero ahora lo resolvi de esta manera las imagenes estan en un paquete seperado de la clases que cargan imagenes te pongo el codigo haber si te sirve de algo:

/*
* CargaImagen.java
*
* Created on 22 de mayo de 2004, 06:19 AM
*/

package sphinx.fac.comunes;

import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import javax.swing.ImageIcon;

/**
* Clase la cual carga imagenes.
* Las images son propiedad de SUN MICROSYSTEM Copyright 2000 by Sun Microsystems, Inc. All Rights Reserved.
* http://java.sun.com
* @author Reynaldo Victor Arceo
* Ingeniero Sistemas Computacionales
* @version 1.0
*/
public class CargaImagen {

private static URI uri=null;

public static ImageIcon iconExit16=null;
public static ImageIcon iconExit24=null;
public static ImageIcon iconAbout16=null;
public static ImageIcon iconAbout24=null;
public static ImageIcon iconAdd16=null;
public static ImageIcon iconAdd24=null;
public static ImageIcon iconDelete24=null;
public static ImageIcon iconDelete16=null;
public static ImageIcon iconEdit16=null;
public static ImageIcon iconEdit24=null;
public static ImageIcon iconExport16=null;
public static ImageIcon iconExport24=null;
public static ImageIcon iconFind16=null;
public static ImageIcon iconFind24=null;
public static ImageIcon iconHelp16=null;
public static ImageIcon iconHelp24=null;
public static ImageIcon iconImport16=null;
public static ImageIcon iconImport24=null;
public static ImageIcon iconNew16=null;
public static ImageIcon iconNew24=null;
public static ImageIcon iconOpen16=null;
public static ImageIcon iconOpen24=null;
public static ImageIcon iconClose16=null;
public static ImageIcon iconClose24=null;
public static ImageIcon iconPrint16=null;
public static ImageIcon iconPrint24=null;
public static ImageIcon iconSearch16=null;
public static ImageIcon iconSearch24=null;
public static ImageIcon iconTileVertical16=null;
public static ImageIcon iconTileVertical24=null;

static {
try{
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Stop16.gif");
iconExit16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Stop24.gif");
iconExit24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/About16.gif");
iconAbout16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/About24.gif");
iconAbout24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Add16.gif");
iconAdd16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Add24.gif");
iconAdd24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Delete16.gif");
iconDelete16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Delete24.gif");
iconDelete24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Edit16.gif");
iconEdit16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Edit24.gif");
iconEdit24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Export16.gif");
iconExport16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Find16.gif");
iconFind16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Find24.gif");
iconFind24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Help16.gif");
iconHelp16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Help24.gif");
iconHelp24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Import16.gif");
iconImport16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Import24.gif");
iconImport24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/New16.gif");
iconNew16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/New24.gif");
iconNew24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Open16.gif");
iconOpen16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Open24.gif");
iconOpen24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Close16.gif");
iconClose16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Close24.gif");
iconClose24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Print16.gif");
iconPrint16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Print24.gif");
iconPrint24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Search16.gif");
iconSearch16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/Search24.gif");
iconSearch24=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/tileVertical.gif");
iconTileVertical16=new ImageIcon(uri.toURL());
uri=new URI("file:/"+System.getProperty("user.dir")+"/sphinx/fac/images/tileVertical24.gif");
iconTileVertical24=new ImageIcon(uri.toURL());

}catch (URISyntaxException uriEx){
System.out.println(uriEx.getMessage());
}catch (MalformedURLException urlEx){
System.out.println(urlEx.getMessage());
}
}

public CargaImagen() {}
}

ricardo
05 de Julio del 2004
Si se puede tienes que utilizar un metodo diferente para acceder a imagenes dentro de un jar, me parece que debes ver java.toolkit.*, no recuerdo bien como se hace pero si se puede.

Saludos