Verständnisfrage lokale Ordnerpfade

Bitte aktiviere JavaScript!
Moin,

ich hatte ein kleines Problem mit einem Image, dass ich über einen bestimmten lokalen Pfad ansprechen wollte. Und zwar kam jedes Mal die Exception invalid URL or Source Path.

Ich hatte zuerst in meinem Projektfolder einen Ordner Namens "Bilder" angelegt und dann versucht wie gesagt über den Pfad auf das Bild zuzugreifen.
Code:
        Image image = new Image("/bilder/" + dataModel.LoadFieldMaps().get(1));        
        fieldmapsImageBox.setImage(image);
Hab dann gegoogelt und herausgefunden, dass er diesen Ordner "Bilder" offenbar nicht berücksichtigt und man innerhalb des "src" Ordners eine Package erstellen soll. Das hab ich getan, das Bild rein geschmissen und siehe da die Römer, es ging.

Jetzt meine Frage:

Warum ist das so? Wenn ich einen Ordner innerhalb eines Projektes mache, ist der ja im gleichen Projekt Ordner. Oder hat es was damit zu tun, dass er im selben Namespace sein muss? Ich glaub ich hab mir die Frage selbst beantwortet: Da ich ja von einer Klasse die sich innerhalb eines bestimmten Namespaces befindet auf ein Bild zugreifen möchte, muss dieses sich ja auch dort befinden.
 
Zuerst einmal muss man wissen, von welcher Klasse die Rede ist; ich schätze mal von javafx.scene.image.Image. Dann schaut man in die JavaDocs und findet "The url without scheme is threated as relative to classpath, url with scheme is treated accordingly to the scheme using URL.openStream()".

Nachdem kein Scheme angegeben ist, wird der String relativ zum Classpath behandelt: dein Bild muss sich also im Classpath unter /bilder/... befinden.

Wo Du in Deinem Projekt das Bild ablegen musst, damit es an die entsprechende Stelle im Classpath "kommt", ist vom verwendeten Build-System bzw. der IDE abhängig.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben