Hallo zusammen,
Ich arbeite in Eclipse mit einem Maven-Project und scheitere an der einfachen Aufgabe ein Bild zu implementieren und zwar weil ich es "nicht finde".
Zuallererst: solange ich absolute Pfade verwende funktioniert alles problemlos (das Bild und die Bildeinbindung selber sind also in Ordnung); mit relativen Pfaden kann ich machen was ich will; da nimmt er es nicht. Wo liegt mein Denkfehler?
Wie gesagt es ist ein Maven Projekt in Eclipse mit folgender Verzeichnisstruktur:
das Bild dazu habe ich im Verzeichnis
Es steht natürlich auch im target-Verzeichnis zur Verfügung:
und das Bild:
Logisch wäre für mich einer der beiden Ansätze:
1. raus aus dem boundary Verzeichnis mit der Klasse die das Bild aufruft, rein ins ressource Verzeichnis
oder 2. ausgehend von der main Methode, die sich in diesem Verzeichnis befindet:
raus aus dem control Verzeichnis und rein ins ressource Verzeichns (das ist dann der selbe Code)
Wo habe ich mich verlaufen?
Ich arbeite in Eclipse mit einem Maven-Project und scheitere an der einfachen Aufgabe ein Bild zu implementieren und zwar weil ich es "nicht finde".
Zuallererst: solange ich absolute Pfade verwende funktioniert alles problemlos (das Bild und die Bildeinbindung selber sind also in Ordnung); mit relativen Pfaden kann ich machen was ich will; da nimmt er es nicht. Wo liegt mein Denkfehler?
Wie gesagt es ist ein Maven Projekt in Eclipse mit folgender Verzeichnisstruktur:
Workspace\MavenArtifactId\src\main\java\MavenGroupId\MavenArtifactId\boundary\Klasse.java
das Bild dazu habe ich im Verzeichnis
Workspace\MavenArtifactId\src\main\java\MavenGroupId\MavenArtifactId\ressources\bild.png
Es steht natürlich auch im target-Verzeichnis zur Verfügung:
Workspace\MavenArtifactId\target\main\classes\MavenGroupId\MavenArtifactId\boundary\Klasse.class
und das Bild:
Workspace\MavenArtifactId\target\main\classes\MavenGroupId\MavenArtifactId\ressources\bild.png
Logisch wäre für mich einer der beiden Ansätze:
1. raus aus dem boundary Verzeichnis mit der Klasse die das Bild aufruft, rein ins ressource Verzeichnis
Code:
Image imgLogo = new Image("file:.\\ressources\\bild.png");
ImageView ivLogo = new ImageView();
ivLogo.setImage(imgLogo);
oder 2. ausgehend von der main Methode, die sich in diesem Verzeichnis befindet:
Workspace\MavenArtifactId\target\main\classes\MavenGroupId\MavenArtifactId\control\Main.class
raus aus dem control Verzeichnis und rein ins ressource Verzeichns (das ist dann der selbe Code)
Wo habe ich mich verlaufen?