Java ImageFetcher Error

ts230

Gesperrt
Hallo.
Ich habe ein Programm was einem Panel ein Hintergrundbild gibt.
Es funktioniert(e) bis jetzt auch gut. Nur jetzt krig ich das:
Uncaught error fetching image:
java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:133)
at java.io.FileInputStream.<init>(FileInputStream.java:96)
at sun.awt.image.FileImageSource.getDecoder(FileImageSource.java:53)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:258)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:189)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:153)

Ich hab keine Ahnung was da falsh ist.
Bitte helft mir!
 
mein code.Halt einfach mit ".txt" als Dateiendung.
Hier noch mal hochgeladen..
 

Anhänge

  • code.txt
    50,3 KB · Aufrufe: 27
Jetzt wo du es sagst erkenne ich es auch.
Nach dem sich der einzige FileInputStream des Supergau's in Zeile 187 befindet, und diesen ein funkelnagelneuer String übergeben wird, würde ich sagen, dass die betreffende Zeile nicht dabei ist. Die Suche von Eclipse findet darin auch nichts mit "ImageFetcher", was eventuell den FileInputStream verwendet. Und wenn du nicht sagst was du bevor das aufgetrehten ist geändert hast, wird die Quelle der Exception wohl für immer ein Geheimniss bleiben.
Der Fehler heißt, dass ein Object was er nimmt auf nichts verweißt.

Dafür habe ich jetzt einen neuen Desktophintergrund:
http://666kb.com/i/b6nfulz0fxhjedi55.gif
 
Jau!
Der code sieht ja Schrecklich aus!So siets bei mir(Linux!)aus:
Screenshot-5.jpg
Auf Zeile 187 ist nur ein try.
Ich muss die Einstellungen ja erst deserializieren.Die (Einstallungs-)Klasse ist in der Package dabei. Ich glaube, Linux-Textdateien sind nicht Windows-kompatibel. Also das ist mal mein pseudo-Code über nen Ablauf:
Java:
->Thread starten
->Einstellungen laden(DA haperts?)
->Komponenten initalisieren
->parr WindowListeners definieren
->Betriebssystem-sytle laden
->Fenster sichtbar machen
->Sagen dass Fertig geladen wurde(auf dem Terminal)
Was ich bemerkt habe,ist das wenn die Einstellungs-Datei nicht da ist(gelöscht) lädt der default-Background und wird angezeigt. Wenn die Einstellungsdatei da ist,gibt es den komischen Fehler.Falls das was hilft:Hier meine Einstellungs-Klasse:
Java:
/*
nnn
 */

package joshtristancalcualtor;
import java.awt.Color;
import java.io.*;
import javax.swing.UIManager.LookAndFeelInfo;

/**
 *
 * @author tristan
 */
public class Sett implements Serializable{
public Color btnColor;
public int btntexture;
public int bgColor;
public int bgTexture;   
public boolean bgtexture;
public boolean bgCustom;
public boolean btnTexture;
public String bgImage;
public short feel;
public boolean sounds,beep,talk;
public boolean[] re =new boolean[9]; 
}
Ich glaube da Gehrts schief:
Java:
try{
ObjectInputStream is = new ObjectInputStream(new FileInputStream("settings"));
e = (Sett) is.readObject();
is.close(); 
}catch(Exception ex){
if(e.re[0] == true)ex.printStackTrace();
img="1.jpg";
if(e.re[0] == true)System.err.print("xyz\n");
//e.bgTexture=1;
}
        
if(e.bgCustom == true){img=e.bgImage;}
        
else if(e.bgtexture == true){img=Integer.toString(e.bgTexture)+".jpg";}
 
Zuletzt bearbeitet von einem Moderator:
Also ich hab rausgefunden,dass dass vor oder mit dem Aufruf von
Java:
super(app);
passiert. Es kommt nicht im Starter,aber im Haupt-file. [Edit]Ah
Ich hab grad ein bischen nachgeschut,Es sieht so aus,als ob es (zumindest bei mir) die Klasse ImageFetcher nicht gibt! Die heisst bei mir
Java:
ImageFetchable
. Wie kann ich diesen kleinen Fehler beheben?
[/Edit]
 
Zuletzt bearbeitet von einem Moderator:
Klingt nach nen Interface, ist aber nur geraten.
So wie es aussieht (Google), befindet sich ImageFetcher im Pakage wyvern.kernel.player. Dieses musst du dir wohl besorgen. (->Google), und zum Class path adden. Wie das bei NetBean geht weiß ich nicht, bei Eclipse wäre das Rechtsklick im Explorer auf ein Project -> Properties -> Java Build Path -> Librariers -> Add external JARs -> OK.
Eventuell geht es ja bei NetBean so ähnlich.
 
Ja,
ich hab jetzt alle Unused Imports und Image-dinge Auskommentiert und es kommt immernoch. Ich denke,da ist ein Bug in der AWT-Library für Images.
[edit]
Hab awt aauskommentiert und nur die Dinge geladen die ich brauche. es geht(halt ohne hintergrundbild)!
[edit2]
Weitere Versuche ergaben dass da ein bug in der AWT-Image library ist!
[/EDITS]
 
Zuletzt bearbeitet:
Zurück