2009-02-26 13 views
5

Esportare un semplice progetto java che include due directory; src e icone. Icons è una directory che contiene tre file .png.Distribuzione del file .jar: Perché non posso caricare i file delle icone?

Esportazione in un file .jar eseguibile utilizzando File -> Esporta. L'esportazione funziona correttamente e il file .jar contiene la directory Icon. Ma non riesco a ottenere il percorso corretto per i file .png quando il progetto viene distribuito. Durante lo sviluppo che sto utilizzando il seguente percorso:

Icone/picture.png

e funziona finché corro da dentro l'IDE Eclipse. Come ottengo il percorso corretto per le icone?

risposta

6

Il codice cerca l'immagine all'esterno del file .jar. Prova invece lo URL constructor di ImageIcon.

Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png")); 

Vedere Class.getResource().

4

mmyers è corretto, ma si tenga presente che getClass().getResource() caricherà le risorse relative al pacchetto in cui è definita la classe. Sospetto che le tue icone siano impacchettate nella radice del file jar e non relative alla classe stessa. Per ottenere risorse dalla radice del classpath, prova: getClass().getClassLoader().getResourceAsStream("Icons/picture.png")

Problemi correlati