PDA

Visualizza la versione completa : [ JAVA ]Immagini da un Jar... parte seconda


Angelo1974
17-09-2003, 15:47
Sempre nel caricare immagini da un .jar .... Allora ritornando all'esempio inserito nel 3d precedente ho visto che con

URL url = Img.class.getResource("image/FARMACIA1.gif");
Image img=Toolkit.getDefaultToolkit().getImage(url);
ImageIcon image = new ImageIcon( img );

si va a caricare l'immagine FARMACIA.gif nella cartella image la quale, a sua volta, si trova nella cartella grafica in cui contenuto il file Img.class; l'ho provato compilando ed eseguendo col JBuilder tutto ok, ho creato il file .jar tutto ok; ora se uso:

URL url = Img.class.getResource("../image/FARMACIA1.gif");
Image img=Toolkit.getDefaultToolkit().getImage(url);
ImageIcon image = new ImageIcon( img );

Mi aspetto che l'immagine venga prelevata dalla cartella image che, per, non si trova pi nella cartella grafica in cui c' il file Img.class, ma in una directory superiore denominata image; compilo ed eseguo da JBuilder... tutto ok; creo il file prova.jar cos:

jar cvf prova.jar grafica image

Aggiorno il Manifest.mf cos:

jar umf Manifest.mf prova.jar

Creo il file bat che contiene:

java -jar prova.jar

ed ecco che mi ritorna il solito errore:

Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImag eSource.java:99)
at sun.awt.image.URLImageSource.getDecoder(URLImageSo urce.java:108)
at sun.awt.image.InputStreamImageSource.doFetch(Input StreamImageSource.java:251)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher. java:168)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:1 36)

La mia domanda : PERCHE'? :dh: :dh: :dh: :dh: :dh: :dh:
Ci fosse stato un errore non avrei dovuto averlo anche in fase di compilazione o esecuzione tramite JBuilder?
Ho sbagliato a creare il file .jar oppure ho ragionato in modo errato?
Qualcuno mi sa rispondere? Grazie e ciauz

:ciauz:

Angelo1974
17-09-2003, 22:41
UP! :dh: :cry:
:ciauz:

abcd1000
18-09-2003, 10:27
io uso il seguente codice

URL url = ClassLoader.getSystemClassLoader().getResource(ima ges/New.gif);

Lo uso in un file che sta sotto la directory
dir1
allo stesso livello di dir1 c' la directory images

fammi sapere se ti funziona

Loading