Swing ImageIcons von externer Quelle (relativ)

Fori

Mitglied
Hiho liebe "Helferlein"!

Leider lieferten mir Googleanfragen keine wirklich funktionierende Lösung. Vielleicht kann mir hier ja wieder ein erfahrener Java Programmierer helfen.

Es geht darum, dass ich in meinem Programm Bilder verwenden möchte, die erst im späteren Verwendungsverlauf extern auftauchen werden.


Ich habe mich für eine Lösung entschieden, dass die Nutzer einfach nur den Dateinamen des Bildes, was zu dem Datensatz gehört angeben sollen und es in einen bestimmten Ordner tun, und es wird von da aus geladen.


Wie kommt das Image nun also an seinen korrekten Pfad?

Die Jar liegt im Ordner "X", die Klasse befindet sich in Projekt/SRC/Gui/, da Projekt ja beim späteren builden zum Folder der Jar wird, liegt der Bilderordner also wohl in Projekt/Bilder. Dieser soll jedoch nicht im Buildpath sein, da ja im Laufe der Benutzung noch Bilder hinzukommen.

Ich hoffe jemand versteht mein Problem. (Wenn das wirklich kompletter Schwachsinn ist und es wesentlich einfacherere Lösungen gibt, bin ich dafür offen.)

Hier ist, was ich schon getestet habe:

Java:
ImageIcon bild = new ImageIcon("../Bilder/test1.png");
ImageIcon bild = new ImageIcon(this.getClass().getResource("../Bilder/test1.png"));

Leider beides ohne Erfolg. (Ich hatte auch testweise die Zahl der "../" variiert.)

Meine Hibernate.cfg.xml versteht hingegen problemlos, dass die Datenbank nicht innerhalb des Classpath liegt, sondern in einem externen Ordner.

[XML]
<property name="hibernate.connection.url">jdbc:hsqldb:file:Datenbank\DB;shutdown=true;hsqldb.write_delay=false; </property>
[/XML]

Diese Hibernate.cfg.xml liegt direkt im "src" Ordner. Und der Ordner Datenbank wird dann ganz korrekt im Projektfolder erstellt. (Bzw. in dem Ordner, wo sich die Jar befindet)


Danke schonmal für etwaiige Hilfe,

Fori
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Für konkretere Hilfe muss ich erstmal warten, bis der Kaffee wirkt, aber ganz allgemein: Aus einer JAR heraus kann man nicht sinvoll mit relativen Pfaden auf Dinge außerhalb der JAR zugreifen (speziell kommt man nicht mit "..\" an dinge, die "über" der JAR liegen)...
 

Fori

Mitglied
Okay, dann habe ich wohl mal wieder ein grundlegendes Missverstädnix mit Java ; )


Dann warte ich mal, bis der Kaffee wirkt : )
 

Marco13

Top Contributor
Wenn während der Benutzung neue Pfade dazukommen, sollte man die doch auch absolut angeben können... Oder man bezieht sich auf irgendein "bekanntes" Verzeichnis, wie user.home... Ansonsten müßtest du die Frage nochmal genauer zusammenfassen...
 

Fori

Mitglied
Die Pfade ändern sich eigentlich nicht , es ist immer folgender Pfad:


Der Ordner in dem die Jar liegt hat halt nen Ordner "Bilder". Aus dem soll geladen werden. Aber der Ordner, in dem diese beiden Sachen liegen, soll halt überall liegen können.


LG,

Fori
 

bERt0r

Top Contributor
Machs doch so wie eine Menge anderer Programme und leg dir einen Ordner im user.home an und speicher deine Bilder dort.
Ansonsten könntest du dich auch mit der Registry Spielen und dort einen Pfad speichern und dann immer auslesen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Swing JTable + ImageIcons + JRadioButtons AWT, Swing, JavaFX & SWT 4
B Swing 2 ImageIcons (setImagIcons()?) AWT, Swing, JavaFX & SWT 10
N Wie finde ich den Pfad eines ImageIcons heraus? AWT, Swing, JavaFX & SWT 8
B Problem mit ImageIcons in einem Jar-File AWT, Swing, JavaFX & SWT 7
E ImageIcons AWT, Swing, JavaFX & SWT 3
G CellRenderer, der einige ImageIcons aneinanderreiht AWT, Swing, JavaFX & SWT 5
G JavaFX Steuerung bzw. Test von externer JavaFX Anwendung (liegt nur als jar vor) AWT, Swing, JavaFX & SWT 9
T SWT Externer zugrif auf SWT Komponenten AWT, Swing, JavaFX & SWT 3
D Panel aus externer Klasse holen AWT, Swing, JavaFX & SWT 2
A Paint Methode externer auruf AWT, Swing, JavaFX & SWT 5
S AWT Arrays in externer jTable Klasse ausgeben AWT, Swing, JavaFX & SWT 3
P JMenu-Erweiterung in externer Datei AWT, Swing, JavaFX & SWT 5
B In externer Eventhandlerklasse auf GUI-Elemente zugreifen AWT, Swing, JavaFX & SWT 3
M Probleme mit JFrame und nicht angezeigter externer Klasse AWT, Swing, JavaFX & SWT 8
J Aufruf externer Quellen aus java AWT, Swing, JavaFX & SWT 3
H Swing JFrame: Quelle nicht gefunden AWT, Swing, JavaFX & SWT 4
T Drag Quelle beim Drop AWT, Swing, JavaFX & SWT 6
G An die Quelle einen events kommen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben