Frage von TheCookieOfDoom, 18

Bild mitexportieren (Java)?

Hallöchen, ich habe ein Bild als Hintergrund eines JFrames gewählt, nun möchte ich nicht, dass man das Bild erst von einem Verzeichnis laden muss. Kann man das Bild irgendwie mit exportieren (exportiere als runnable jar)?

Kann man das alternativ so machen, dass man das Bild einfach im selben Verzeichnis haben muss wie das Programm selbst? Wie kann ich in diesem fall aus diesem Verzeichnis laden, obwohl ich nur den Verzeichnisnamen und nicht den gesamten Pfad habe (sodass dass der Programmordner überall abgelegt sein kann)?

Antwort
von Dereta, 14

Den Pfad kannst du versuchen über
MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI()

Zu bekommen. Das andere nennt sich interne Ressourcen Verwaltung

Antwort
von androhecker, 7

Du kannst mit einem Resource Ordner ein Bild direkt in der Jar speichern. Zum Beispiel ist der Resource Ordner resources, dann sieht das ungefähr so aus: resources/img/bild.png
Dann kannst du mit getClass().getResourceAsStream("img/bild.png") einen InputStream des Bildes erhalten. Wenn du in einer statischen Methode bist, kannst du auch Klasse.class.getResourceAsStream nutzen.

Bei File kannst du einfach new File("bild.png") nutzen wenn das Bild im gleichem Ordner ist, Voraussetzung ist natürlich, dass das Programm auch von diesem Ordner ausgeführt wird.

Antwort
von MarcelDavis321, 13

du legst im src Ornder einen neuen Ordner (kein Package) und nennest den media oder so. Dann kannst du da das Bild rein legen und es von da laden.

Keine passende Antwort gefunden?

Fragen Sie die Community