Bilder zu ausführbarer Jar-Datei hinzufügen

freebeer

Mitglied
Hallo, obwohl das Thema hier des Öfteren diskutiert wurde, muss ich jetzt doch noch einmal fragen, da ich gerade ziemlich am verzweifeln bin.

Ich möchte eine Ausführbare Jar-Datei erzeugen, bei der auch die Bilder der Swing-Anwendung angezeigt werden. Im Code möchte ich mir die Resourcen über die Methoden getClass().getResource() beschaffen. Sieht dann erstmal so aus:
Java:
neuAct = new MeineAktionen ("Neu", new ImageIcon(getClass().getResource("new24.gif")), "Erstellt ein neues Dokument",
        KeyStroke.getKeyStroke('N',InputEvent.CTRL_DOWN_MASK), "neu");

Die Bilder liegen in einem Ordner "sources" im "src" Ordner des Projektes.
Screenshot (13).png
Auch die Anweisung ....getResource("/sources/new24.gif")) funktioniert nicht. Ich habe bisher alles probiert und bin mit meinem Latein leider am Ende, wäre echt dankbar wenn mir da jemand noch einen Tipp geben könnte.
 
Du scheinst Eclipse zu verwenden. Kannst Du einmal prüfen, ob in dem erstellten jar File der Ordner sources enthalten ist mit den Bildern? (Dazu kannst Du die jar Datei z.B. in .zip Umbenennen und dann mit einem Tool Deiner Wahl betrachten.)

Wenn die Ressourcen entsprechend im jar File enthalten sind, dann sollte es per getClass().getResource("/sources/new24.gif") geladen werden können.

Ohne den führenden / wird im Classpath der Klasse gesucht, d.h. der Code mit "new24.gif" würde die Datei in de/fernschulen/editor/ erwarten (Also bei der Java Klasse).
 
Ja der Ordner mit den Bildern ist im erstellen Archiv vorhanden. Die wichtigste Information habe ich alledings vergessen. Der Compiler schmeißt mir beim ausführen eine NullPointerException und verweist mich auf die Zeile in der die Anweisung zum Laden der Resourcen stehtScreenshot (15).png
 
Die NPE kommt, wenn die Ressource nicht gefunden wird: getResource gibt dann null zurück und das führt dann in der Folge im Konstruktor von ImageIcon zur Exception.

Wenn Du sicher gestellt hast, dass die Datei wirklich in dem gewünschten Pfad im jar enthalten ist, dann prüfe bitte noch einmal genau die ganze Schreibweise.

Problem gelöst! Hatte bei der Bezeichnung der Bilddateien etwas vergessen
Danke für die Rückmeldung. Dann muss ich auch nicht weiter schreiben 🙂
 

Zurück
Oben