Eclipse Image-Resource einfügen

Mirar

Mitglied
Guten Abend Leute.

Ich weiß nicht woran es liegt aber ich kriege es einfach nicht hin eine ganz normale *.ico in die Resourcen von Eclipse einzufügen, sodass ich es als Icon nutzen kann.
Mit Import wollte die Sache nicht funktionieren, reinziehen ging auch nicht. Das waren die Möglichkeiten die ich bisher gefunden habe. Aber es muss ja irgendeine Möglichkeit geben.

Kann mir dabei wohl bitte einer auf die Sprünge helfen?
Würde das Icon nachher gerne mit

Java:
setIconImage(new ImageIcon(getClass().getResource(
                                "./src-images/favicon.ico")).getImage());

setzen können.

Gruß Mirar
 

Mirar

Mitglied
Guten Morgen,

die Datei ist definitiv vorhanden. Der Pfad sollte soweit stimmen ja. Meine Struktur ist folgende:

- src-main
+ gui
Gui.java
- src-images
favicon.ico

- = Ordner
+ = Package


Gruß Mirar
 

Akeshihiro

Erfahrenes Mitglied
Ich bin mir grad nicht sicher, ob das so stimmt, muss ich nachher mal prüfen. Es gab jedenfalls einen Grund, warum ich mir schon vor Ewigkeiten eine bestimmte Struktur für sowas erstellt hab.

Wenn ich mich nicht irre, dann gelten die Pfade, die du an getClass().getResource() übergibst, relativ zum Pfad, an dem die Klasse liegt. Sprich es wird nicht als absoluter Pfad zum Projekt angesehen, daher wird auch deine Datei nicht gefunden.
 

Fabio Hellmann

Erfahrenes Mitglied
Hi,
wenn du deine Dateien mit getClass().getResource() laden willst, dann muss die Datei auch im Package liegen.
Sprich deine Datei.ico muss im src-Folder unter einem Package liegen, zu dem du referenzieren kannst.
Code:
- src
  + mainpackage
     # KlasseA [getClass().getResource("Datei.xy")]
     # KlasseB [getClass().getResource("meineicons/IconA.ico")]
     * Datei.xy
     + meineicons
        * IconA.ico
Gruß

Fabio
 

Mirar

Mitglied
Guten Abend,

ich habe jetzt einfach mal einen Screenshot gemacht. Ziel ist es in der Zeile mit dem Kommentar das File favicon.ico in images zu speichern.

Code.jpg

Ich hoffe das klärt eure Fragen soweit und hilft das ihr mir besser helfen könnt. ^^

Gruß Mirar
 

Akeshihiro

Erfahrenes Mitglied
Ich mach das so, dass ich mir ein Package für die Ressourcen erstelle. Das heißt meist res. Da habe ich dann noch weitere Packages für alles, was man so braucht, img, lang, usw. (Beispiel: de.tutorials.res.img). Außerdem habe ich im res-Package eine abstrakte Klasse ResLoader, mit der ich dann immer zentral an die Ressourcen komme (sonst ist der Pfad immer anders und das war auch der Grund für diesen Aufbau).

Und die Anwendung ist dann auch kein Hexenwerk mehr.
Java:
// Egal wo, sieht immer gleich aus
InputStream in = ResLoader.class.getResourceAsStream("img/meinBild.png");

// oder

URL url = ResLoader.class.getResource("img/meinBild.png");

Man kann im Prinzip machen, was man will. Das ist eben mein Weg und ich persönlich bin damit mehr als zufrieden.
 

chrisLB

Grünschnabel
Hallo,
ich bin über google auf das Thema gestoßen und wollte gerne etwas dazu beitragen. Der Aufwand der hier teilweise betrieben wurde um den korrekten Pfad herauszufinden (Dummy-Klassen usw.) ist völlig überflüssig. Man muss sich nur klar machen, dass getResourceAsStream sowohl relative als auch absolute Pfade versteht.

Ein relativer Pfad beginnt dabei ohne / also wie es bisher in diesem Thread immer verwendet wurde z.B. "img/meinBild.jpg"

wenn ich nun aus einem anderen Paket absolut auf dieses Bild zugreifen will ohne irgendwelche Dummyklassen, dann kann ich das einfach so

Java:
 XYZ.class.getResourceAsStream("/img/meinBild.png");
 
Zuletzt bearbeitet von einem Moderator: