Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Java: NullPointerException





Frage

Hallo, ich hab ein kleines Problem. Der folgende Code wirft eine NullPointerException, obwohl alles klappt, wie es klappen soll...hat jemand nen Plan? Start-Klasse: [code] package maptest; public class StartMaptest { public static void main(String[]args) { MaptestAnwendung mt = new MaptestAnwendung(); mt.fuehreAus(); } } [/code] Anwendungs-Klasse: [code] package maptest; import stiftUndCo.*; public class MaptestAnwendung { Bildschirm bildschirm; BuntStift buntstift; Maus maus; Karte karte; public MaptestAnwendung() { bildschirm = new Bildschirm(800,600); buntstift = new BuntStift(); maus = new Maus(); karte = new Karte(bildschirm); } public void fuehreAus() { karte.maleKarte(); int karteX = -1000; int karteY = -1400; do { if(maus.hPosition() > 750) { if(karteX > -1200) { karteX = karteX - 5; } } if(maus.hPosition() < 50) { if(karteX < -5) { karteX = karteX + 5; } } if(maus.vPosition() > 550) { if(karteY > -1400) { karteY = karteY - 5; } } if(maus.vPosition() < 50) { if(karteY < -5) { karteY = karteY + 5; } } karte.KarteAufBildschirm(karteX+5, karteY+32); Hilfe.warte(10); } while(true); } } [/code] Zeichen-Klasse: [code] package maptest; import stiftUndCo.*; import java.awt.*; public class Karte { Bildschirm bildschirm; BuntStift buntstift; Image image; Graphics iG; public Karte(Bildschirm b) { bildschirm = b; buntstift = new BuntStift(); image = bildschirm.createImage(2000,2000); iG = image.getGraphics(); } public void KarteAufBildschirm(int x, int y) { bildschirm.getGraphics().drawImage(image, x, y, bildschirm); } public void maleKarte() { for(int i=0; i<10; i++) { for (int j = 0; j < 10; j++) { iG.setColor(Farbe.rgb(Hilfe.zufall(0,255),Hilfe.zufall(0,255),Hilfe.zufall(0,255))); iG.fillRect(i*200, j*200 ,200 ,200); } } } } [/code]

Antwort 1 von joto

Aso sry 4 dp:
Kann man die Exception auch unterdrücken (da ja eig alles läuft)? Wenn ja: wie? thx

joto

Antwort 2 von Dr.Ma-Busen

Moin!

Zitat:
Die NullPointerException wird ausgelöst, wenn versucht wird, über einen Verweis, der den Wert null hat, ein Datenelement, eine Methode oder ein Array-Element anzusprechen.
Quelle


Die Exception kannst du abfangen und unterdrücken. Siehe dazu hier:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html

MfG

Antwort 3 von joto

und was is nu genau das problem, dass die überhaupt auftaucht? ISt das Prob, dass ich nen Image zeichne, das gar nicht auffm Bildschirm (im AWT-Frame) liegt?

Antwort 4 von Rangoo

Hallo,

da müsste man jetzt gewaltig ins Blaue raten. An welcher Stelle wird denn überhaupt die Exception geworfen?

Antwort 5 von cmkatz

Hallo,

poste doch mla die komplette Exception-Meldung, die ausgegeben wird. Dann sieht man auch, wo, also in welcher Klasse in welcher Zeile, die Exception geschmissen wird...

Gruß
cmkatz

Antwort 6 von joto

Die NullPointer is in der Zeichen-Klasse in der Zeile:

bildschirm.getGraphics().drawImage(image, x, y, bildschirm); 


ich vermute es liegt dran, dass das bild(2000x2000) nich auffn bildschirm(800x600) passt...

Antwort 7 von Rangoo

Ich vermute, es liegt daran, dass an deinem Bildschirm keine Grafiken angemeldet sind und deshalb das getGraphics() einen null-Verweis liefert.

Antwort 8 von joto

Wie melde ich die Grafik denn am Bildschirm an? Es klappt ja, solange die Grafik kleiner als der Bildschirm ist und die Grafik komplett auf dem Bildschirm liegt...

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: