Inserimento immagine nel jar

di il
3 risposte

Inserimento immagine nel jar

Ciao ho un problema. Ho creato un programma in java che contiene delle immagini nei vari JButton.
Compilo il programma in Eclipse e le immagini si vedono.
Creo il file .jar. Metto i file .class, la cartella contenente il manifesto e le immagini.
Eseguo il jar ma non si vedono le immagini...come posso fare?
Per informazione nel codice l'immagine è caricata come new ImageIcon (immagine.jpg) perchè le immagini sono nella stessa cartella dove risiede il progetto.

3 Risposte

  • Re: Inserimento immagine nel jar

    Ho risolto.
    La soluzione è:

    url = ClassLoader.getSystemResource("immagini/immagine.jpg");
    ImageIcon imageIcon = new ImageIcon(url);

    e poi mettere la cartella immagini nella cartella bin del progetto...se avete lo stesso problema e non avete capito ditelo che vi rispondo
  • Re: Inserimento immagine nel jar

    Non ho capito....potresti ripetere?
  • Re: Inserimento immagine nel jar

    Il mio problema era questo. Per caricare un immagine usavo il metodo ImageIcon imageIcon = new ImageIcon("immagini/esempio.jpg"); e la cartella immagini si trovava nella stessa cartella del progetto (per esempio la cartella PrimoProgramma, questa cartella è quella che contiene le sottocartelle bin e src).
    Se compilavo con eclipse non avevo problemi, le immagini venivano compilate correttamente. Se mettevo tutto in un jar le immagini non venivano compilate. Il jar conteneva il contenuto della cartella PrimoProgramma\bin, la cartella immagini e il file Manifest.mf che indica qual'è la classe principale.
    Per far vedere le immagini nello jar va cambiato il codice del programma.
    Anziche usare il metodo ImageIcon imageIcon = new ImageIcon("immagini/esempio.jpg");bisogna usare questi due metodi:
    url = ClassLoader.getSystemResource("immagini/esempio.jpg");
    ImageIcon imageIcon = new ImageIcon(url);
    Se compili con eclipse le immagini vengono visualizzate e anche se crei il jar allo stesso modo di prima (cartella PrimoProgramma\bin, Immagini e Manifest.mf) vengono visualizzate le immagini. L'importante che la cartella Immagini, al momento della compilazione con eclipse, si trovi in PrimoProgramma\bin.
    Adesso spero di essere stato più chiaro, se non hai ancora capito ti posso inviare il codice tramite msn almeno capisci bene la differenza.
Devi accedere o registrarti per scrivere nel forum
3 risposte