Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    4

    Integrare immagini in jar eseguibile

    Salve ho progetto java perfettamente funzionante su Eclipse. Carico delle immagini dalla cartella /workspace/spaceInvaders/bin/spaceinvaders/spacepix/immagine.png e utilizzo la seguente path "/spaceInvaders/spacepix/alien.png" nel codice.

    Tutta via se provo ad esportare il progetto come archivio zip o come jar eseguibile tale cartella spacepix non viene presa e il jar non va in esecuzione perchè non trova le immagini.

    Come posso risolvere?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se le immagini sono contenute all'interno di un JAR è necessario caricarle usando getResource() / getResourceAsStream() e non usando i percorsi, che all'interno di un JAR non hanno alcun senso.

    In questa discussione è spiegato come si usano i metodi getResource() / getResourceAsStream()


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    4
    infatti il mio codice è:

    private final String shot = "/spaceInvaders/spacepix/alien.png";
    ImageIcon ii = new ImageIcon(this.getClass().getResource(shot));


    Tuttavia non va quando creo un jar eseguibile, mentre funziona se eseguo da eclipse!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da gsa390
    infatti il mio codice è:

    private final String shot = "/spaceInvaders/spacepix/alien.png";
    ImageIcon ii = new ImageIcon(this.getClass().getResource(shot));


    Tuttavia non va quando creo un jar eseguibile, mentre funziona se eseguo da eclipse!
    Ok. Devi verificare che il file alien.png si trovi all'interno del JAR in quel percorso. Avendo usato il carattere slash ( / ) all'inizio, stai dando per scontato che la directory "spaceInvaders" sia all'interno della root del progetto (e non una sottodirectory, non un sottopackage).

    Puoi verificarlo con un qualunque programma di gestione dei file zip (un file JAR è essenzialmente un file ZIP con l'estensione modificata).

    Generalmente, per far sì che l'ambiente di sviluppo si porti dietro tutto automaticamente, è sufficiente copiare il file alien.png all'interno della directory dei sorgenti nel percorso specificato. Quindi, se la directory dei sorgenti del progetto si chiama "src", dovrai copiare il file png all'interno della directory

    codice:
    src/spaceInvaders/spacepix/
    Chiedendo all'ambiente di sviluppo un clean/rebuild, il JAR dovrebbe essere creato correttamente.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.