Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Exception:URLImageSource

    Ciao ragazzi,nonostante abbia cercato a lungo su Internet e anche sul forum non sono riuscita a trovare la soluzione al mio problema,ho notato che molte persone hanno lo stesso mio problema ma non riesco a capire come gestirlo.
    Ho un progetto da espostare da Eclipse,creo il file jar con Export\FileJar e nel prompt dei comandi digito il seguente codice:
    codice:
    java -jar "C:\Users\nadia\Desktop\applicazione.jar"
    .

    Però l'eseguibile non parte ma nel prompt dei comandi mi lancia questa eccezzione:
    codice:
    C:\Users\nadia>java -jar "C:\Users\nadia\Desktop\client.jar"
    Uncaught error fetching image:
    java.lang.NullPointerException
            at sun.awt.image.URLImageSource.getConnection(Unknown Source)
            at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
            at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
            at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
            at sun.awt.image.ImageFetcher.run(Unknown Source)
    Ho capito che si riferisce ad un'errore relativo al caricamento del logo cioè dell'immagine che io utilizzo nelle mie classi,però quando lancio l'applicazione da Eclipse questo problema non c'e...perchè compare nel momento in cui il programma và da se giusto?
    In tutte le classi io l'immagine la carico in questo modo:
    codice:
    this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("cameriere.gif")));
    E' qui il problema???? ....Spero che possiate aiutarmi..Vi ringrazio anticipatamente...

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Exception:URLImageSource

    Originariamente inviato da nadiiia86
    codice:
    this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("cameriere.gif")));
    E' qui il problema????
    La riga in sé non è sbagliata. La questione è che dovresti capire meglio dove mettere quella immagine cameriere.gif.

    Questa riga di codice l'hai messa in un metodo di "istanza" di una classe XYZ (non so, ovviamente, il nome). E hai invocato getResource() sul Class dell'oggetto corrente (il this) specificando un nome di risorsa che non inizia con "/".

    Pertanto dove hai il file XYZ.class, in quella stessa directory devi avere quel cameriere.gif. E questo vale se i file sono "sciolti" nel file-system ma anche se i file sono contenuti in un jar.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    L'immagine si trova nel pacchetto dove è contenuta la classe è anche nel progetto dove è contenuto il pacchetto.La linea di codice relativa all'immagine si trova nel costruttore della classe,quando io faccio il jar dovrebbe esportarsi anche l'immagine no?...comunque mi stai dicendo che nella cartella dove tengo il jar devo avere anche l'immagine?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nadiiia86
    L'immagine si trova nel pacchetto dove è contenuta la classe è anche nel progetto dove è contenuto il pacchetto.La linea di codice relativa all'immagine si trova nel costruttore della classe,quando io faccio il jar dovrebbe esportarsi anche l'immagine no?
    In teoria sì ... comunque lo scopri subito con una verifica. Apri il jar con WinZip (o sw simile) e guarda se la classe e la immagine sono nella stessa cartella.
    E un'altra cosa importante: su un file-system (es. di Windows) ci può non essere differenza tra maiuscolo/minuscolo. Ma in jar tutto è case-sensitive. Quindi la immagine deve essere esattamente come l'hai indicata a getResource.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Scusami,ho provato a mettere nella cartelladove ho il jar l'immagine ma nn cambia nulla..sempre la stessa eccezione.Devo cambiare qualche altra cosa allora?Cosa vuol dire il nome della risorsa non inizia con \ ???...Grazie anticipatamente

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nadiiia86
    Scusami,ho provato a mettere nella cartelladove ho il jar l'immagine ma nn cambia nulla..sempre la stessa eccezione.
    Scusa ma lo ripeto: hai verificato che nel jar sia tutto ok?

    Originariamente inviato da nadiiia86
    Cosa vuol dire il nome della risorsa non inizia con \ ???
    Innanzitutto qui si parla di /.
    Comunque se si invoca getResource() su un Class il fatto che la specifica della risorsa inizia o non inizia con "/" cambia le cose.

    Supponi una classe Pippo nel package com.test (quindi nome completo com.test.Pippo).

    Pippo.class.getResource("aaa.gif")

    cerca la risorsa basandosi sul package di Pippo, quindi cerca lungo il "classpath" una risorsa com/test/aaa.gif

    Pippo.class.getResource("/aaa.gif")

    cerca la risorsa non nel package di Pippo. Sempre lungo il "classpath" ma alla "radice", come se la risorsa non fosse in un package.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    ok quindi a me va senza \ perche l'immagine sta nel package...cmq ho controllato nel jar è tutto ok.Io ho la cartella exe che contiene il file jar generato da eclipse applicazione.jar e l'immagine cameriere.gif.Ora non so perche quando vado da terminale succede sempre la stessa cosa

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nadiiia86
    ho la cartella exe che contiene il file jar generato da eclipse applicazione.jar e l'immagine cameriere.gif.
    La immagine deve essere dentro il jar .... non fuori!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Forse ho capito allora il problema dove sta...perchè il mio jar è un file un Executable Jar File non un'archivio!io forse sbaglio a creare il jar da eclipse allora!...io faccio:TastoDestro sul progetto poi faccio Export/JarFile il mio progetto però contiene tre pacchetti cambia qualcosa?sbaglio facendo cosi oppure no?..Grazie 1000 per la disponibilità

  10. #10
    Ho trovato dopo tante tante tante ricerche la soluzione al mio problema...la posto qui caso mai qualche altra persona abbia il mio stesso problema non debba scimunirsi cm me...
    codice:
    this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("cameriere.GIF")));
    		ClassLoader loader = getClass ().getClassLoader ();
    		URL fileLocation=loader.getResource("cameriere.GIF"); 
    		URL URL = loader.getResource ( "cameriere.GIF");
    		Image img=Toolkit.getDefaultToolkit().getImage(fileLocation);
    la prima serve per Eclipse le altre istruzioni invece per il jar
    Baci a tutti...alla prox

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.