Bilder aus jarDateien laden

Status
Nicht offen für weitere Antworten.

Shaddow

Mitglied
Wahrscheinlich nervt das Thema langsam, ich habe zumindest eine horrende Anzahl an Treffen bei Google und auch hier gefunden, allerdings hat mich bisher nichts zum Erfolg geführt. Bis auf die Tatsache, dass ich etwa ein Dutzend Möglichkeiten gefunden habe, wie es (bei mir) nicht funktioniert, habe ich bisher leider nichts gewonnen..
also poste ich mal.

Ich habe bisher eine jarDatei incl meiner Bilder erstellt, allerdings wurden die Bilder nicht angezeigt, obwohl sie nachweislich im Archiv vorhanden waren. Dann stiess ich durch Suchen auf die Methode getResource() und habe meinen Quellcode entsprechend angepasst. Nun funktioniert allerdings nichteinmal mehr das Kompilieren:

Java:
		logo = new ImagePanel("/logo.jpg");

Java:
public class ImagePanel extends javax.swing.JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Image image = null;

public ImagePanel(String imagePfad) {
	super();

	Image image = Toolkit.getDefaultToolkit().createImage(getClass().getClassLoader().getResource(imagePfad));
}
Ich habe das schon ohne den ClassLoader getestet, ich habe es mit getImage statt createImage getestet, ich habe es getestet, vor den Pfad ein "/" zu setzen, auch ein "./" habe ich getestet und bisher hat nichts funktioniert.

Der Fehler ist eine NullPointerException und tritt erst beim Zeichnen der Komponente auf:
Java:
public void paintComponent(Graphics g) {
	super.paintComponent(g);
	g.drawImage(
		image, 
		new Double(g.getClipBounds().getCenterX() - (image.getWidth(this) / 2))
			.intValue(), 
		new Double(g.getClipBounds().getCenterY() - (image.getHeight(this) / 2))
			.intValue(), 
	
		this);

Hier genauer gesagt bei den getWidth() und getHeight() Methoden. Um den fehler genauer einzugrenzen, habe ich im Konstruktor folgende Zeile angehängt:

Java:
	Image image = Toolkit.getDefaultToolkit().createImage(getClass().getClassLoader().getResource(imagePfad));
	if (image != null)
		System.out.println(">"+image.getWidth(this));
Image ist nicht Null und ich bekomme nun eine andere Art von Fehler:
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(Unknown Source)
at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)

Weiss damit jemand etwas anzufangen?
 

Shaddow

Mitglied
Das ist ja das problem, nachdem ich auf getResource umgestellt habe, bekomm ich die Exception schon beim Kompilieren, also wird ja nix erstellt
 

Shaddow

Mitglied
okay ^^
Also wenn ich das Archiv öffne liegen meine Klassen auf der untersten Ebene und im ordner "graphics" liegt das Logo.
Ich habe es aber auch schon auf der gleichen Ebene wie die Klassen getestet, bringt genausowenig
 

Shaddow

Mitglied
Getestet:
Nutz ich ImageIO (die Idee von Schandro) bekomm ich eine NullPointerException
Nutz ich das Toolkit kommt der Fehler von Oben mit der Uncaugth Exception while fetching Image..
 
G

Gastredner

Gast
Du kannst die Pfadangaben erst dann auf die internen Pfade eines .jar umbiegen, wenn die Entwicklung abgeschlossen ist und du das .jar packen willst - getClass().getRessource() versucht das Bild aus dem Archiv zu laden, in welchem die aufrufende Klasse liegt. Wenn diese während der Entwicklungszeit natürlich nicht in einem Archiv liegt, kann er da nichts laden. Ergebnis ist null und der Aufruf einer Methode auf null erzeugt die NPE...
 
Zuletzt bearbeitet von einem Moderator:
G

Gastredner

Gast
Tatsächlich? Hat bei mir nie geklappt...aber gut, war eh nicht die Lösung.

Es liegt wohl eher hier dran:
Java:
public IMGTest(String imagePfad) {
		super();

		/*Image*/ image = Toolkit.getDefaultToolkit().createImage(
				getClass().getClassLoader().getResource(imagePfad));
	}
Mit dieser Anweisung legst du eine lokale Variable an, speicherst das Bild also nicht in der Klassenvariable...da kann dann ja nur eine NPE beim Zugriff auf die Klassenvariable kommen.
 

homer65

Top Contributor
Ich benutze dafür eine Locator Klasse:
Code:
package schachfiguren;
import java.net.*;
public class Locator 
{
	public URL getURL(String pfad)
	{
		URL url = this.getClass().getResource(pfad);
		return url;
	}
}
Benutzt wird Sie wie folgt:
Code:
		Locator locator= new Locator();
		URL url = locator.getURL(name + farbe + ".gif");
		Image img = Toolkit.getDefaultToolkit().getImage(url);
Dabei ist name + farbe der Dateiname des Bildes, das sich im selben Package wie die Klasse Locator befindet
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
8u3631984 Bilder in Datenbank speichern - sinnvoll Allgemeine Java-Themen 5
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
B Java Mail: Unterscheidung bei Attachments und eingefügte Bilder in Email Allgemeine Java-Themen 18
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
J Bilder lassen sich nicht importieren Allgemeine Java-Themen 3
S Bilder/Grafiken (zb: ".jpg") gestaucht zu Anzeige bringen Allgemeine Java-Themen 4
C Position von Pixeln in Bilder auslesen Allgemeine Java-Themen 2
The Pi NetBeans Bilder in Jar Datei werden nicht angezeigt Allgemeine Java-Themen 7
L Bilder innerhalb der JAR Datei Allgemeine Java-Themen 2
A 2 Bilder übereinander legen Allgemeine Java-Themen 5
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
P Datentypen Bilder werden in ausführbarer JAR nicht angezeigt Allgemeine Java-Themen 6
OnDemand Bilder herunterladen Allgemeine Java-Themen 11
Tacofan Bilder in Resource speichern Allgemeine Java-Themen 6
V Input/Output Gif Bilder Animiert aus einer Jar laden Allgemeine Java-Themen 4
F Bilder aus Subpackage entnehmen Allgemeine Java-Themen 2
J Bilder halb in falscher Farbe nach kopieren aus Web Allgemeine Java-Themen 3
A JTable Bilder Allgemeine Java-Themen 1
P OpenCV mit Java - Bilder in Graustufenbilder umwandeln Allgemeine Java-Themen 2
M Barcode und Bilder in PCL einbinden Allgemeine Java-Themen 0
H Mehrere Bilder aus einer Datei lesen Allgemeine Java-Themen 2
A Bilder vergleichen auf gleichheit oder ähnlichkeit Allgemeine Java-Themen 8
F Java Api Bilder speichern Allgemeine Java-Themen 3
J Bilder in Eclipse überlappen Allgemeine Java-Themen 4
M Bilder aus Excel auslesen Allgemeine Java-Themen 6
S Bilder Zippen Allgemeine Java-Themen 3
Z Bilder aus JAR laden Allgemeine Java-Themen 2
R Exec. Jar läd Bilder nicht! Allgemeine Java-Themen 5
D auf Bilder im Jar-Archiv zugreifen Allgemeine Java-Themen 11
P JAVA Bilder/Videos in Form von Files vergleichen Allgemeine Java-Themen 7
M Input/Output Mehrere Bilder aus Resourcen auslesen Allgemeine Java-Themen 8
K Eclipse Export - Bilder finden Allgemeine Java-Themen 7
K Bilder zerschneiden, stichwort: SLICE Allgemeine Java-Themen 3
M Eclipse Stackoverflow beim Einlesen von großen Bilder in kd Baum Allgemeine Java-Themen 15
M keine Bilder in .jar-Datei (java) Allgemeine Java-Themen 23
D Bilder in JFrame anzeigen Allgemeine Java-Themen 5
K Inputstream -> Bilder Allgemeine Java-Themen 23
JAVAnnik Bilder in JLabel Array einfügen Allgemeine Java-Themen 2
A Problem mit Bilder laden mit sum.kern Allgemeine Java-Themen 9
C Bilder speichern Allgemeine Java-Themen 12
Z 2D-Grafik Webcam-Bilder analysieren und manipulieren Allgemeine Java-Themen 8
D Bilder extrahieren aus EPS - Problem mit ASCII85 Allgemeine Java-Themen 2
D Bilder aus externer .jar laden Allgemeine Java-Themen 3
S Swing mit JEditorPane per HTML auf Bilder in JAR zugreifen. Allgemeine Java-Themen 3
F Kleingerechnete Bilder extrem dunkel Allgemeine Java-Themen 2
SuperSeppel13 Bilder auf Anfrage laden - Threading Allgemeine Java-Themen 3
C Bilder rotieren, Denkfehler in der Berechnung? Allgemeine Java-Themen 2
S Mittels eines Applets Bilder generieren die in einer Webseite angezeigt werden..? Allgemeine Java-Themen 8
C Bilder verkleinern und zusammenführen Allgemeine Java-Themen 5
hdi Bilder JAR-kompatibel machen Allgemeine Java-Themen 7
K Transparente Bilder in Bild positionieren und speichern. Allgemeine Java-Themen 5
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
A Beim Kopieren werden Bilder verfälscht Allgemeine Java-Themen 3
O Große Anzahl Bilder laden Allgemeine Java-Themen 7
data89 Bilder mit Java prüfen - suche dringend Hilfe Allgemeine Java-Themen 8
R Bilder von flickr runterladen? Allgemeine Java-Themen 3
Fadi Lade Bilder aus einem Jar File Allgemeine Java-Themen 6
D Bilder einer Webseite herunterladen Allgemeine Java-Themen 2
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
C Alle Bilder eines binären Arrays ausgeben Allgemeine Java-Themen 3
G Bilder einer Webcam im JFrame anzeigen Allgemeine Java-Themen 5
T Webseiten durchsuchen und Bilder downloaden Allgemeine Java-Themen 4
C Bilder automatisch bearbeiten/manipulieren Allgemeine Java-Themen 2
G Peformance Bilder laden? Allgemeine Java-Themen 3
G Bilder in javadoc einbinden Allgemeine Java-Themen 5
H Bilder werden nicht angezeigt Allgemeine Java-Themen 7
G Bilder skalieren Allgemeine Java-Themen 2
K Bilder mit Java in MS Word einfügen Allgemeine Java-Themen 2
G Bilder werden in .Jar nicht angezeigt! Allgemeine Java-Themen 2
B zwei Bilder miteinander vergleichen Allgemeine Java-Themen 25
N Bilder in DB oder im Filesystem speichern Allgemeine Java-Themen 3
K bilder laden im voraus Allgemeine Java-Themen 7
Chris_1980 Bilder u. Objekte in JarArchiv speichern Allgemeine Java-Themen 2
S Buttons über Bilder? Allgemeine Java-Themen 18
F Mehrere Bilder zu einem Großen zusammenkleben Allgemeine Java-Themen 3
N Auf Bilder / Dateien innerhalb eines jar-Archives zugreifen Allgemeine Java-Themen 2
H Bilder richtig speichern und laden Allgemeine Java-Themen 4
F Bilder als "Thumbnails" laden - Performance Allgemeine Java-Themen 6
TheJavaKid Bilder in die Registries Allgemeine Java-Themen 7
byte Fehlerhafte Bilder reparieren? Allgemeine Java-Themen 11
M Bilder abspielen mit Übergängen Allgemeine Java-Themen 12
G bilder in jar Allgemeine Java-Themen 6
T Bilder schnell in BufferedImage laden Allgemeine Java-Themen 4
T Bilder bearbeiten unglaublich langsam Allgemeine Java-Themen 9
G Bilder für Buttons in JarFile Allgemeine Java-Themen 5
Linad Bilder auf Gleichheit prüfen Allgemeine Java-Themen 6
G Bilder zeichnen und Zoom Funktion Allgemeine Java-Themen 2
G Bilder in JAR-File finden Allgemeine Java-Themen 5
E Warum werden Bilder nicht angezeigt? Allgemeine Java-Themen 3
M GIF-Bilder in JAR-Files Allgemeine Java-Themen 5
M Bilder-Ordner kann im JAR-File nicht gefunden werden Allgemeine Java-Themen 15
M Bilder in ein Array? Allgemeine Java-Themen 3
P Bilder aus Jar Allgemeine Java-Themen 2
D Bilder einlesen, bearbeiten und wieder in Datei schreiben Allgemeine Java-Themen 3
J Problem mit .jar Archiv und Bilder Allgemeine Java-Themen 6
bummerland bilder im jar-archiv? Allgemeine Java-Themen 2
O Maven ein externes jar laden ohne die Applikation neu zu kompilieren Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23

Ähnliche Java Themen

Neue Themen


Oben