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:
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:
Hier genauer gesagt bei den getWidth() und getHeight() Methoden. Um den fehler genauer einzugrenzen, habe ich im Konstruktor folgende Zeile angehängt:
Image ist nicht Null und ich bekomme nun eine andere Art von Fehler:
Weiss damit jemand etwas anzufangen?
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));
}
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));
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?