Uncaught error fetching image + Ich checks nicht^^

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
So und zwar folgendes Problem.
Ich möchte gerne ein Bild laden welches ich nachher via Paintmethode auf einem Window zeichne...
Sobald auf dieses Bild (Welches vom Typ Image ist und ich mir über die getImage() Methode aus der Klasse Toolkit besorgt habe)dann aber zugegriffen (sei es duch den MediaTracker oder duch drawImage) wird bekomme ich eine schöne Exception die wie folgt aussieht:
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)

Das schönste daran ist aber worüber ich auch schonmal hier im Forum öfters gestoßen bin, dass ich diese Exception überhaupt nicht abfangen kann. Sie wird einfach so geworfen, als wenn irgendwo in der Methode getImage() z.B. über nen Output die die Daten dieser aufgetretenden Exception ausgegeben wird....
Was man auch daran erkennen kann, das die auftretende Exception nicht über System.exit() (So wie sonst meistens oder???) Mein Programm vorsichtshalber zum Stillstand bringt, sondern eben nur deren Daten ausgibt

Naja, das Bild ist aber auf jedenfall vorhanden aber sieht selbst...

Code:
private final String file = "icons/logo.jpg";

Die Konstante mit dem Pfad zum Bild

Code:
MediaTracker loadimage = new MediaTracker(this);
			try
			{
				java.io.File image = new java.io.File(file);
				if(image.exists()&&image.isFile()){
				background = Toolkit.getDefaultToolkit().getImage(getClass().getResource("'" + image.getAbsolutePath() + "'"));
				loadimage.addImage(background,0);
				loadimage.waitForAll();
				}//if end
			}//try end
			catch(Exception any)
			{
				ErrorLog.writeOutError("
			}//catch end
Hier besorge ich mri das Bild


Code:
public void paint(Graphics g)
		{
			try{
			if(background!=null){
				g.drawImage(background,100,100,this);
			}//try end
			}catch(Exception any){
				any.printStackTrace();
			}//catch end
			g.setColor(Color.BLACK);.......................
.....
Irgendwo im Nirgendwo, die paint-Methode, die aber eigentlich hier nicht wichtig ist, da die JVM schon beim Bildzugriff duch den MediaTracker
Code:
 loadimage.waitForAll();
die Exception wirft...
Wenn diese gerade genannte Zeile auskommentiert ist, dann wird das erste mal natürlich die Exception in der Paint-Methode
Code:
 g.drawImage(background,100,100,this);
geworfen..


Ich setze den Absoluten Pfad in einfache Hochomma, da es sein könnte, das ein Directory aus 1 - n Blanks besteht und ich mir nicht sicher bin ob er das sonst denoch als einen Pfad erkennt, was ich aber eigentlich nicht denke. Hatte das Problem bisher nur bei der execute() Methode von Runtime, wo er den 2. Teil eines Directory (das aus einem Blank bestand) als Parameter/Option angesehen hat, was ja eigentlich auch ganz logisch ist.
Naja habe dies aber auch schon mit relativem Pfad und ohne hochkommas ausprobiert, was mir aber auch nicht weiter hilft.
Wie man sehen kann, ist es äußerst unwahrscheinlich, dass das Bild nicht existiert aber auf Basis dessen dennoch ein Image konstruiert wird, da dies alles überprüft wird....


Hoffe ihr könnt mir helfen
 
G

Guest

Gast
Keiner eine Idee/Lösung?
Ich kick den Thread hiermit mal wieder etwas hgoch, möchte nämlich eigentlich nicht, dass der hier in der Versenkung verschwindet.

Schade, dass man sich hier nicht die "Hits" anzeigen lassen kann. Ging das nicht mal?

mfg GagamehlO
 

The_S

Top Contributor
Anonymous hat gesagt.:
Keiner eine Idee/Lösung?

Schonmal versucht das pic mittels ImageIO zu laden? Ansonsten sry, kA.

Anonymous hat gesagt.:
Schade, dass man sich hier nicht die "Hits" anzeigen lassen kann. Ging das nicht mal?

jup, da kamen dann aber irgendwann mal bei manchen Threads sehr merkwürdige Zahlen. Deshalb wurde es rausgenommen (wenn ich mich recht erinnere). Du kannst über ein User-Profil (z. B. meines ;) ) von einem User, der in deinem Thread gepostet hat, dessen Beiträge anzeigen lassen. Da steht dann bei dem entsprechenden Thread u. a. die Hints ;) (bei deinem Thread also momentan 19)
 

Wildcard

Top Contributor
Mach den Pfad mal nicht hart kodiert, sondern lass ihn dir von einem JFileChooser zurückgeben. Wenn's dann funktioniert war dein Pfad falsch :wink:
 

GagamehlO

Aktives Mitglied
Ja Danke für eure Antworten.
Werde es mit ImageIO mal ausprobieren.
@Wildcard habe mir den Pfad auch schon vorher durch nen FileDialog aus SWt ausgeben lassen, war alles korrekt so weit^^
Das komische an der ganzen Sache ist aber, dass ich diesen Codeschnipsel (Es ist eigentlich nen LoadingScreen mit entsprechendem Hintergrundbild und Statusanzeige) aus nem anderem Projekt von mir genommen habe (War nen Rundenbasiertes Netzwerkstrategiespiel) und bei diesem funktionierte es...Argh Mom....Juhu ich habs...

Meine .class Dateien landen ja duch Eclipse(habe es umkonfiguriert) samt der Pakte-Hierarchie ganz woanders...
Also müssen auch in diese Ordner die Pics rein, die erst zur Laufzeit geladen werden...
Mhm jetzt klappts, wobei mir es trotzdem nicht ganz klar ist, warum das vorher nicht funktioniert hat, da ich ja nen absoluten Pfad übergeben hatte...Mhm komisch...

Noch ne Frage: Hatte ich mit meiner Vermutung in Bezug auf die Excpetion-Output recht?

mfg GagamehlO
 

Wildcard

Top Contributor
Sag ich doch das der Pfad nicht stimmt :wink:
Nein, du hast nicht recht. Eine Exception beendet dein Programm nicht, und schon gar nicht mit System.exit(0);.
Und natürlich kannst du die Exception fangen. Du bist nur nicht dazu gezwungen.
 

GagamehlO

Aktives Mitglied
Wildcard hat gesagt.:
Sag ich doch das der Pfad nicht stimmt :wink:
Nein, du hast nicht recht. Eine Exception beendet dein Programm nicht, und schon gar nicht mit System.exit(0);.
Und natürlich kannst du die Exception fangen. Du bist nur nicht dazu gezwungen.

Habe auch nirgendwo "0" geschrieben...wird wahescheinlich so "-1" sein, oder eben größer. Habe nur die Erfahrung gemacht, dass -1 sehr häufig als err_stat ausgegeben wird.

Der Pfad stimmte ja eigentlich doch...
Ist mir immer noch unklar warum das mit dem absoluten Pfad nicht stimmt und das pic dann da irgendwie doch im Projektfolder liegen muss ;-(

Das Problem ist aber, dass ich diese Exception wie schon geschrieben nicht abfangen kann.
Der StackTrace der Exception wird immer ausgegeben und das Programm macht dann doch net weiter...

Und klär mich bitte aus. Normalerweise ist es bei mir immer so, dass wenn eine nicht behandelte Ausnahme auftritt mein Programm geschlossen wird. EDIT: Ne es müsste einfach hängen bleiben. Habe mich vertan.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Uncaught error fetching image AWT, Swing, JavaFX & SWT 2
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
izoards [Fatal Error] org.xml.sax.SAXParseException AWT, Swing, JavaFX & SWT 10
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
M error: package javafx.scene.web is not visible import javafx.scene.web.*; AWT, Swing, JavaFX & SWT 16
J SWT SWT Error: No more handles AWT, Swing, JavaFX & SWT 3
zhermann JavaFX DialogPane.showAndWait wirft Cast Error AWT, Swing, JavaFX & SWT 1
S JDBC Error "Too many Connections" AWT, Swing, JavaFX & SWT 11
I Fataler Error bei GUI-Ausführung AWT, Swing, JavaFX & SWT 3
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
U JavaFX Error: Handler Method not found AWT, Swing, JavaFX & SWT 3
N css und JavaFX error parse AWT, Swing, JavaFX & SWT 6
D JavaFX build.fxbuild error beim Erstellen einer exe AWT, Swing, JavaFX & SWT 2
L Rekursive Methoden -> Error: StackOverFlow AWT, Swing, JavaFX & SWT 2
A JavaFX Webapp Runtime error AWT, Swing, JavaFX & SWT 10
X JavaFX TableView Error beim clicken des außenbereiches AWT, Swing, JavaFX & SWT 5
A Swing Zahlenraten GUI wirft nur die Error Message aus AWT, Swing, JavaFX & SWT 6
A Java Swing Error AWT, Swing, JavaFX & SWT 3
Corben ActionListener Error AWT, Swing, JavaFX & SWT 2
E Laden von Bilddateien erzeugt OutOfMemory Error AWT, Swing, JavaFX & SWT 6
M JTree => Event Dispatching Error AWT, Swing, JavaFX & SWT 2
C SWT Error/Warnings in TreeView AWT, Swing, JavaFX & SWT 2
F Java heap space error trotz -Xmx512m AWT, Swing, JavaFX & SWT 9
G wirklich großer Text in JTextArea => Heap Space Error AWT, Swing, JavaFX & SWT 5
V Lock & Feel für Error-Messages AWT, Swing, JavaFX & SWT 6
A error fetching image AWT, Swing, JavaFX & SWT 5
N JList getSelectedIndex-Error AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben