Java Bilder einfügen, die sich in einem Ordner befinden?
Hallo Leute,
ich möchte in mein Java Programm ein Bild einfügen. Das Bild befindet sich allerdings in einem Unterordner in dem Projektordner.
Das ist das Verzeichnis > Projekt = src = picture = img.png
Die Klassen liegen in diesem Verzeichnis > Projekt = src = main.java
Was muss ich eingeben, damit der Compiler das Bild in dem Ordner pictures finden kann. Ich hoffe diese Frage ist verständlich.
1 Antwort
Das Programm wird in dem Ordner suchen, in dem auch die userinterface.class-Datei liegt. Wenn man einmal davon ausgeht, dass die Klasse im selben Package wie main liegt, kannst du das Bild folgendermaßen holen:
var image = new ImageIcon(getClass().getResource("picture/img.png"));
Generell empfiehlt es sich, eine klare Projektstruktur (jede Klasse liegt in einem benannten Package und beginnt im Namen mit einem Großbuchstaben) mit einem Ressourcenordner anzulegen.
Beispiel (nach typischer Maven-Struktur):
src
- main
- java
- com.example
- Main.java
- resources
- images
- someimage.jpg
Buildtools wie Maven oder Gradle würden den Inhalt eines resources-Ordners übrigens direkt in das Rootverzeichnis packen, in dem auch die class-Dateien abgelegt werden. Das heißt, dein relativer Pfad würde übertragen stets vom resources-Ordner aus starten.
"images/someimage.jpg"
Das hatte mir Chat gpt gerade auch vorgeschlagen xD
Vielen Dank!!