Bilder werden in exportierter Datei nicht geladen

Bitte aktiviere JavaScript!
Hallo, wenn ich ein Bild in mein Projekt einbinden wird es zwar im Editor geladen. Also wenn ich meine Main.class im Editor starte um zu sehen wie alles funktioniert werden alle Bilder geladen. Exportiere ich das Projekt allerdings als .jar werden die Bilder nicht mehr geladen.
Genauso verhält es sich auch mit Schriftarten und anderen Dateien, die ins Projekt eingebunden werden.

Also was soll ich tun, damit ich endlich Bilder auch im fertigen Spiel benutzen kann.
 
A

Anzeige




Vielleicht hilft dir unser Kurs hier weiter —> (hier klicken)
Was hast Du genau ausprobiert? Wie lädst du die Bilder? Sind die Bilder in dem Jar-File enthalten?
("jar -t deineDatei.jar" zeigt Dir den Inhalt der Datei auf der Kommandozeile.)
 
Du sollst nichts ausprobieren, sondern einfach in das Jar schauen, ob die Bilder enthalten sind (s. @kneitzel). Wenn ja, an welcher Stelle? Und wie werden die Bilder im Code geladen?
Sie sind im Code und in der Jar sie werden nur nicht geladen.
So implementiere ich die Bilder:
Code:
//Monster
    public static BufferedImage srcMonster;

    static {
        try {
            srcMonster  = ImageIO.read(new File("resources/monster.png"));
            vaGeneral.images = true;
        } catch (IOException e) {
            e.printStackTrace();
            vaGeneral.images = false;
        }
    }
Und so lade ich die Bilder in der Draw class:
Code:
g.drawImage(reImages.srcSpeed, vaGeneral.xfship, vaGeneral.yfship, vaGeneral.fslshipwidth, vaGeneral.fslshipheight, null);
Das problem ist jetzt, dass er immer nur über den catch block geht und vaGeneral.images = false setzt
Ich habe außerdem schon die Datei Pfade: "src/resources/monster.png" "JarName.jar/resources/monster.png" "../resources/monster.png" ausprobiert.
In der exportierten jar wurde immer vaGeneral.images = false gesetzt
 
Wenn der Code oben in der Klasse namens "Monster" wäre und sich das Bild in Deinem Jar unter /resources befindet, dann lädst Du das Bild mit
Code:
srcMonster  = ImageIO.read(Monster.class.getResourceAsStream("/resources/monster.png"));
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben