mit getClassLoader Bild laden

Hallo an alle,

ich stehe vor folgendem Proglem.

Ich lade Bilder in meine JLable hinein, um sie dann später anzeigen zulassen.

Anfangs habe ich es mit einem absoluten Pfad probiert, was auch funktioniert hat. Später stellte sich dann heraus, dass wenn man das Spiel in ein JAR. exportiert und die JAR auf einem fremden Computer ausführt, dass die Bilder nicht mehr angezeigt werden.

Ich habe ein bisschen gegoogelt und bin dann auf den getClassLoader gestossen, der die lokalen Datein auf die Bilder durchsuchen kann.

Ich habe, dass dann folgendermaßen umgesetzt:

Mein Dialog in dem das Label aufgerufen wird:
Java:
		JLabel lblhinterGrund = new JLabel("");
		lblhinterGrund.setIcon(new ScalingImageIcon(getClass().getClassLoader().getResource("Bilder/hintergrund_6.jpg"), 690, 515));
		lblhinterGrund.setBounds(0, 0, 569, 425);
		contentPanel.add(lblhinterGrund);

In dieser Klasse passe ich die Bildgröße auf die JLabelgröße an
Java:
package FinalVersion.com;

import java.awt.Component;
import java.awt.Graphics;
import java.net.URL;

import javax.swing.ImageIcon;

class ScalingImageIcon extends ImageIcon
{
    private int w;
    private int h;
 
    ScalingImageIcon(URL fileName, int w, int h)
    {
        super(fileName);
        this.w = w;
        this.h = h;
    }
 
    @Override
    public int getIconHeight()
    {
        return h;
    }
 
    @Override
    public int getIconWidth()
    {
        return w;
    }
 
    @Override
    public void paintIcon(Component c, Graphics g, int x, int y)
    {
        g.drawImage(getImage(),x,y,w,h,c);
    }
}

Wenn ich das Spielnormal ausführe in Eclipse dann werden die Bilder normal angezeigt.

Sobald ich aber dann exportiere und die JAR. File ausführe, stosse ich auf folgende Fehlermeldung:"Java Exception has occured".???:L

Meine Bilder habe ich auf der selben Stufe wie den bin oder den scr Ordner abgelegt.
Theoretisch müsste das doch egal sein, weil der ClassLoader, den ganzen Spielordner durchsuchen müsste???

Vielen dank für eure Antworten.

LG euer
Adriano-Celentano
 
S

Spacerat

Gast
Du erscheinst ungeduldig. Ist WE, deswgen viele anscheinend nicht anwesend. ;)
Aber was solls. Um deine Frage zu beantworten:
Nein, der Ordner Bilder muss in den Order "src" verschoben werden. Beim Build wird er dann auch verwendet und beim Export dann auch mit in die Jar geschrieben.
 
Hallo,
ich hab das gemacht. Die Fehlermeldung kommt trotzdem noch.;(
Ich vermute mal, dass es an der Klasse ScalingImageIcon liegt und dass diese die mitgegebene URL nicht verträgt. Wie gesagt mit den absoluten Pfad-Angaben hat es funktioniert.
LG
Adriano-Celentano
 
S

Spacerat

Gast
Was ist denn, wenn du beim Pfadnamen ein "/" davor schreibst?
Mit der Fehlermeldung lässt sich im übrigen gar nichts anfangen. Kannst du in deiner IDE evtl. einen Haltepunkt im Konstruktor von ScalingImageIcon setzen, um festzusellen, od überhaupt eine korrekte URL übergeben wird?
 
Hi,
nein das mitn "/" davor setzen hat auch nichts gebracht. Da kommt folgende Fehlermeldung "Source not found".

Bezüglich der Fehlermeldung, weiß ich auch, dass die nicht viel sagt, aber das kommt wenn ich die JAR ausführe. Habe da auch nicht mehr Infos.

Ich habs wieder zurück gestellt und wie du gesagt hast mit debugg probiert.
Da gibt er mir folgenden Pfad zurück in der URL: "file:/C:/Users/xxxxxx/workspace/Project%20Schiffe%20versenken%20FinalVersion/bin/Bilder/hintergrund_6.jpg"
Das müsste doch passen, oder?
Wie gesagt, in Eclipse funktioniert das, aber nicht wenn ich die JAR. Datei ausführe. ;(;(
Ich bin da total beim verzweifeln.


Ach, übrigens gibt es eine Möglichkeit eine JAR zu debuggen. Das weiss ich nicht wie das geht???
LG
Adriano-Celentano
 
S

Spacerat

Gast
Ach, übrigens gibt es eine Möglichkeit eine JAR zu debuggen. Das weiss ich nicht wie das geht???
Klar gibt es die...
Du musst die Jar nur in einem neuen Projekt als Ressource dem BuildPath hinzufügen, das Projekt der Jar als Quellordner angeben und die gewünschte Klasse in der main des neuen Projektes verwenden. Für 'ne simple App sieht das etwa so aus:
Java:
public class JarDebug {
  public static void main(String[] args) {
    my.debug.targetClass.main(args);
  }
}
 
Hallo an alle,
da bin ich wieder...
So zu meinen Problem. Es funktioniert..... ;)

Ich habe 2 Anfängerfehler gemacht:
1. Ich habe mein Projekt nicht aufgefrischt. Dadurch waren die Bilder nicht in der scr. Erst als ich Eclipse heute wieder gestartet habe, habe ich meinen Fehler gesehen.
2. Ich habe meinen Befehle am Anfang so formuliert
Java:
getClass().getClassLoader().getResource("Bilder\\hintergrund_4.jpg")
. Anscheinend kann das getClass() nicht interpretieren. Die richtige Formulierung wäre so gewesen
Java:
getClass().getClassLoader().getResource("Bilder/hintergrund_4.jpg")
. Bei absoluten Pfaden geht die 1. Bezeichnung aber nicht bei getClassLoader...

Will mich noch einmal für eure Ratschläge bedanken ;)

LG
Adriano-Celentano
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Class#getClassLoader - Verständnisproblem Allgemeine Java-Themen 3
berserkerdq2 Habe ein svg bild, kann ich das zu svg koordinaten umrechnen, damit ich den Umriss zeichnen kann? Wenn ja wie? Allgemeine Java-Themen 1
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
OnDemand Prüfen ob Bild defekt ist Allgemeine Java-Themen 4
Y Bild in JPanel setzen Allgemeine Java-Themen 2
Kirby.exe Bild im Zentrum spiegeln Allgemeine Java-Themen 14
I Apache POI Bild in Word ersetzen Allgemeine Java-Themen 15
OnDemand Bild prüfen ob defekt Allgemeine Java-Themen 3
L Input/Output Kassenzettel lesen aus einem Bild Allgemeine Java-Themen 2
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
R Compiler-Fehler Bild per E-Mail versenden Allgemeine Java-Themen 3
M Java- Bild gewissen Anzahl von Sekunden anzeigen?! Allgemeine Java-Themen 4
RalleYTN 2D-Grafik Bild mit bilinearer Interpolation skalieren Allgemeine Java-Themen 31
RalleYTN 2D-Grafik Bild ohne AWT, Swing und JavaFX rotieren Allgemeine Java-Themen 12
S Telefonbuch mit Bild Allgemeine Java-Themen 4
A 2D-Grafik Text in ein Bild schreiben Allgemeine Java-Themen 11
Tacofan GIF-Bild wird "zerstört" Allgemeine Java-Themen 3
B Bild aus Jar kann nach Export nicht mehr gefunden werden Allgemeine Java-Themen 13
T Neuen Kanal in Bild (TIFF) einfügen à la Photoshop Allgemeine Java-Themen 2
Z Zahlen aus Bild auslesen Allgemeine Java-Themen 1
X Bild -> lokale Variable -> DB -> lokale Variable Allgemeine Java-Themen 3
E 3D Objekte in 2D Bild finden Allgemeine Java-Themen 5
R HtmlUnit: Canvas als Bild speichern Allgemeine Java-Themen 0
E am häufigsten vorkommenden Farben aus einem Bild Allgemeine Java-Themen 5
S Bild in Raster Allgemeine Java-Themen 1
S Bild in Frame Allgemeine Java-Themen 0
F Punkte in einem Bild finden Allgemeine Java-Themen 10
A Bild aufteilen für getData Allgemeine Java-Themen 3
P Wie füge ich ein Bild in die GUI ein? Allgemeine Java-Themen 7
F ImageJ: Linien und Schnittpunkte in Bild Allgemeine Java-Themen 1
E Bild abspeichern Allgemeine Java-Themen 5
D Face.com - Gesicht im Bild finden Allgemeine Java-Themen 3
N Input/Output Bild von WebSite laden? Allgemeine Java-Themen 3
A Input/Output Bild in Java einlesen und analysieren! Allgemeine Java-Themen 8
S programm um bild auszulesen Allgemeine Java-Themen 2
R Bild offenbar zu groß um geladen zu werden? Allgemeine Java-Themen 12
K Quadrat in einem Bild erkennen Allgemeine Java-Themen 33
B Bild verschieben Allgemeine Java-Themen 6
T Bild in jar Paket einbinden Allgemeine Java-Themen 9
D Bild Typ bestimmen Allgemeine Java-Themen 9
0 2D-Grafik Bild einfärben Allgemeine Java-Themen 8
A Bild zusammenbauen! Allgemeine Java-Themen 5
A Bild von Webcam aufzeichnen Allgemeine Java-Themen 14
V 2D-Grafik Bild transparent machen. Allgemeine Java-Themen 4
H Bild einscannen und speichern Allgemeine Java-Themen 29
E Bild mit Listener einfügen Allgemeine Java-Themen 3
B Bild in String einbauen? Allgemeine Java-Themen 3
C Bild auf HDD speichern Allgemeine Java-Themen 4
X Bild aus dem Netz von URL runterladen und in GUI einbinden. Allgemeine Java-Themen 3
F Bild (Point) mit scrollen lassen Allgemeine Java-Themen 5
R Texterkennung - Text aus einem/r Bild/Grafik auslesen Allgemeine Java-Themen 2
B Bild- und Texterkennung Allgemeine Java-Themen 4
S Tracing eines Bildes (a.ka. Bild vektorisieren)..? Allgemeine Java-Themen 2
destroflyer *.dds-Bild anzeigen Allgemeine Java-Themen 12
F Bild aus externer Quelle laden und Skalieren? Allgemeine Java-Themen 11
X Bild im Memory zwischen speichern Allgemeine Java-Themen 11
R JAI - RGB Bild in 3 Einzelbilder zerlegen Allgemeine Java-Themen 4
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
A Möglichkeiten, ein Bild schnell auszuwerten Allgemeine Java-Themen 56
D Java Thread, Bild wird nur am Ende gezeichnet Allgemeine Java-Themen 5
K Zeichnen auf ein Bild und Scrollen Allgemeine Java-Themen 7
data89 Barcodes in Bild erkennen Allgemeine Java-Themen 17
S Bild anhand von Koordinaten einteilen Allgemeine Java-Themen 7
K Transparente Bilder in Bild positionieren und speichern. Allgemeine Java-Themen 5
W Bild Spiegeln, aber Originalbild ausblenden Allgemeine Java-Themen 2
B Bild wird nicht angezeigt. Allgemeine Java-Themen 10
Developer_X Avatar/Bild ins Profil einbinden Allgemeine Java-Themen 10
C Bild in .txt speichern und wieder als Bild speichern Allgemeine Java-Themen 2
D Bild in text tabelle umwandeln Allgemeine Java-Themen 2
G bild in package Allgemeine Java-Themen 6
MQue bild zoomen Allgemeine Java-Themen 2
R Farbe im Bild ersetzen Allgemeine Java-Themen 11
R PDF einlesen und als Bild abspeichern Allgemeine Java-Themen 8
P Bild aus dem Internet speichern Allgemeine Java-Themen 4
K Schreiben von Bildern: Bild bleibt leer Allgemeine Java-Themen 7
ARadauer Bild verkleinern. Allgemeine Java-Themen 9
F Bild (File) komplett serialisieren Allgemeine Java-Themen 9
H Wie erstelle ich ein Bild ( GeoTIFF ) ? Allgemeine Java-Themen 2
Ark Bild immer als ARGB laden Allgemeine Java-Themen 2
N Hochgeladenes Bild verkleinern und speichern Allgemeine Java-Themen 2
N Graphics2D als Bild abspeichern Allgemeine Java-Themen 6
M bild verkleinern Allgemeine Java-Themen 9
MQue svg- Bild Allgemeine Java-Themen 34
S JPEG Bild übertragen mit RMI ? Allgemeine Java-Themen 4
V Wie kann ich ein Bild in einem Zip Archiv abspeichern? Allgemeine Java-Themen 3
ToNyXXL Als Mauszeiger eigenes Bild verwenden! Allgemeine Java-Themen 3
M bild erkennung Allgemeine Java-Themen 2
S Bild durchs Label laufen Allgemeine Java-Themen 14
T Bild verliert Inhalt. Allgemeine Java-Themen 6
T Icon -> Bild einladen Allgemeine Java-Themen 18
G Bild neu zeichnen Allgemeine Java-Themen 13
S Bild Größe verändern Allgemeine Java-Themen 2
R Bild flackert nach Java-Install - nur bei Laufschriften. Allgemeine Java-Themen 2
H Bild base64encode als String Allgemeine Java-Themen 9
S Bild aus Zwischenablage in Applet einfügen Allgemeine Java-Themen 2
T Ich bin unfähig ein Bild relativ zu addressieren ... Allgemeine Java-Themen 12
D JPEGEncoder -> Schwarz Weiß Bild Allgemeine Java-Themen 2
M Eingelesene Bild wird automatisch skaliert Allgemeine Java-Themen 4
R Bild wird trotz allem einfach nicht angezeigt. - AHHHHH!!!!! Allgemeine Java-Themen 30
R Bild downloaden und darstellen lassen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben