Mein Problem: Ich hatte ein main-Package das einen resources-Ordner samt Bilder, sowie ein java-package mit dem Code und vielen weiteren unter Packages beinhaltete. In einem dieser unter Packages hatte ich nun eine Klasse ImageLoader, die für mich die Bilder laden sollte. Das funktionierte im Debugging soweit so gut. Also ich nun aber auf getResources() umstellen wollte, kam das Problem mit den Pfaden, den die alten Pfade, die mit mit new File("pfad") angegeben hatte gingen nicht mehr. Ich probierte unendlich viele Varianten, kam aber nicht drauf. Letztendlich war die Lösung folgende:
ImageLoader.class.getClassLoader().getResource("main/resources/" + imageName + ".png")
Per ausprobieren fand ich heraus, dass der Befehl generell erstmal
X.class.getClassLoader().getResource()
lautet wobei X = der Klassenname ist, in der das Bild geladen wird, in meinem Fall der ImageLoader. Das Problem war nun immer der Pfad, doch den kann man ganz einfach herausfinden. Man platziert einfach folgendes
System.out.println(ImageLoader.class.getClassLoader().getResource(""));
an der Stelle bevor man das Bild lädt. Debuggt man nun das Ganze, so erscheint auf der Konsole der entsprechende Klassen Pfad, was in meinem Fall einfach der bin-Ordner im Projekt-Ordner war. Mit diesem Wissen kann man nun einfach den Pfad ab den bin-Ordner fortsetzen. In meinem Fall war das der Packagename + der Ordnername: also "main/resources/" hängt man jetzt noch den Bildnamen an, wie bereits oben geschehen, so sollte es keine Probleme geben.