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'?![]()
![]()
![]()
![]()
![]()
![]()
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
![]()