Bilder werden in exportierter Datei nicht geladen

Diskutiere Bilder werden in exportierter Datei nicht geladen im AWT, Swing, JavaFX & SWT Bereich.
L

LennArtWorks

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.
 
mihe7

mihe7

Sind die Ressourcen, denn in Deinem Jar enthalten? Und wenn ja, an der richtigen Stelle?
 
K

kneitzel

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.)
 
L

LennArtWorks

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
 
mihe7

mihe7

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"));
 
Thema: 

Bilder werden in exportierter Datei nicht geladen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben