Beim ausführen einer Java-Anwendung aus eclipse mein ImageIcon zeigt sich nur in Ordnung.
Aber nach dem erstellen einer jar-der Pfad zum Bild natürlich bekommt geschraubt.
Gibt es eine Möglichkeit, extrahieren Sie ein Bild aus der jar zur Laufzeit, so kann ich Sie dann öffnen? Oder gibt es einen besseren Weg, dies zu tun?
Möchte ich verteilen eine einzige jar-Datei, falls möglich.
InformationsquelleAutor der Frage jjnguy | 2008-08-27
Erstellen einer
ImageIcon
von einer image-Datei innerhalb des gleichen Gläser der code wird geladen:Class.getResource
gibt eine URL eine Ressource (odernull
!).ImageIcon
hat eine Konstruktoren, die Last von einer URL.Konstruieren einer URL für eine Ressource in einem jar nicht auf Ihre "classpath" finden Sie in der Dokumentation für
java.net.JarURLConnection
.InformationsquelleAutor der Antwort Tom Hawtin - tackline
Können Sie versuchen so etwas wie:
In Ihre JAR-Datei, müssen Sie möglicherweise eine Verzeichnis-Struktur:
InformationsquelleAutor der Antwort Outlaw Programmer
Ist dies für mich arbeiten zu laden und den Inhalt im Bereich hintergrund-Bild:
jar (oder build-Pfad) enthält:
java enthält:
Getestet und funktioniert in beide jar und unjarred (ist das der Fachausdruck) Ausführung.
BTW
getClass().getClassLoader().getResourceAsStream("/img/bg.png")
- was ich zunächst versucht - wieder bei mir ein null-InputStream.InformationsquelleAutor der Antwort ekerner
In netbeans 8.1, was ich getan habe, ist, gehören die Ordner-icons und andere Bilder, sogenannte Ressourcen innerhalb der src Ordner in der Projekt-Datei. Also immer wenn ich bauen Jar Datei der Ordner ist enthalten.Die Dateistruktur sollte wie folgt sein:
Sollte der code so sein:
InformationsquelleAutor der Antwort Abdelsalam Shahlol
Laden Bild aus der Jar-Datei während der Laufzeit ist die gleiche wie lade Bild bei der Ausführung von IDE e.g netbeans der Unterschied ist, dass beim laden Bild aus der JAR-Datei der Pfad muss richtig sein, und seine Kleinschreibung (sehr wichtig).
Dies funktioniert für mich
wenn p in "/Pictures/firstgame/habitat1.jpg" ist in Kleinbuchstaben es wird nicht funktionieren. überprüfen Sie Räume, Fällen und Rechtschreibung
InformationsquelleAutor der Antwort Tobore Igbe