Originariamente inviato da Martina88
Forse sbaglio qualcosa?
Purtroppo se non si è compreso bene il concetto di "classpath" e/o dei package, è facile "cannare" qualcosa in questi casi.

Originariamente inviato da Martina88
Il nome della classe che devo inserire e quella della classe in cui sto lavorando? Va bene anche se e un jframe?
Tecnicamente qualunque classe, purché poi tramite una specifica "relativa" puoi raggiungere la risorsa.

Ripeto meglio l'esempio:

si ha una classe com.esempio.Prova, a livello di sorgenti ci sarà da qualche parte un ...blabla.../com/esempio/Prova.java

Se in quello stesso package 'esempio' ci metti una cartella "imm" con dentro "carta.gif" allora quando tutto sarà compilato avrai due file:

com/esempio/Prova.class
com/esempio/imm/carta.gif

Se fossero "sciolti" nel file-system, la "com" potrebbe stare in una qualunque directory Xyz, purché poi questa Xyz sia elencata nel classpath.

Se fossero in un jar, quel "com" deve essere alla "radice" dentro il jar ma la struttura sarebbe esattamente come le due righe sopra. E il file.jar dovrebbe essere lui elencato nel classpath.

Che siano nel file-system o in un jar, non cambierebbe assolutamente nulla (cioè funzionerebbe in entrambi i casi) se il caricamento venisse fatto con:

codice:
... = new ImageIcon(Prova.class.getResource("imm/carta.gif"));