![]() |
createImage und NullPointerException
Ich kriege immer beim ausführen meines Baumes an der selben Stelle eine NullPointerException (seit wann gibt es in Java denn Pointer ;) :) ), und zwar nach dem Erzeugen eines Bildes mit createImage(this.getSize().height,this.getSize().w ith);
muss ich das mit dem Mediatracker machen, oder wieso kann ich kein Image erzeugen. Source: import java.awt.*; //=======__________============================= public class GraphicTree extends Canvas{ int i=0; Tree t; AvlTreenode tn,arrow; Image dbi; Graphics dbg; //~~~___________~~~~~~~~ public GraphicTree(Tree t1){ setBackground(SystemColor.menu); setSize(400,200); t = t1; } //~~~~~~~____~ public void run(){ dbi=createImage(400,200); this.getSize().width, this.getSize().height ); System.out.println(""+dbi); /Ausgabe: null dbg=dbi.getGraphics(); arrow=t.getArrow(); createGraph(0,1,1,t.getRoot()); //Exception repaint(); try{ Thread.sleep(1000); } catch(InterruptedException ie){} } //~~~~~~~____~~~~~~~~~~ public void paint(Graphics g){ } //~~~~~~~~__________~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private void createGraph(int row, int eitr, int noe, AvlTreenode tn){ int cwidth=getWidth()/2; int x,y; if(tn.getPrev()!=null){ dbg.drawLine(cwidth/noe*eitr+10,row*40+10,cwidth/(noe*2)*(eitr*2-1)+10,(row+1)*40); createGraph(row+1, (eitr*2)-1, noe*2, tn.getPrev()); } if(tn.getNext()!=null){ dbg.drawLine(cwidth/noe*eitr+10,row*40+10,cwidth/(noe*2)*(eitr*2+1)+10,(row+1)*40); createGraph(row+1, eitr*2+1, noe*2, tn.getNext()); } if(t.isLeaf(tn)){ dbg.setColor(SystemColor.menu); dbg.fillOval(cwidth/noe*eitr-5,row*40-5,30,20); dbg.setColor(Color.black); dbg.drawOval(cwidth/noe*eitr-5,row*40-5,30,20); } else{ dbg.drawRect(cwidth/noe*eitr,row*40,22,12); } if(tn==arrow){ dbg.drawLine(cwidth/noe*eitr+10,row*40+20,cwidth/noe*eitr+10,row*40+50); dbg.drawLine(cwidth/noe*eitr+10,row*40+20,cwidth/noe*eitr,row*40+25); dbg.drawLine(cwidth/noe*eitr+10,row*40+20,cwidth/noe*eitr+20,row*40+25); } dbg.drawString(""+tn.getInt(),(cwidth/noe*eitr)+1,row*40+11); } } |
|
nein, nicht gelesen, ich habe mir die neue Doku von 1.4 noch nicht runtergeladen :mad: :mad:, auf so einen Fehler komme ich nicht, da ich das ganze von gotojava gesucht habe..., und die Beispiele funzen
thx, kannst du mir auch sagen, was ich machen muss damit es funzt??? |
Das war wohl nicht der Fehler, ich habe jetzt die Bedeutung von isHeadless nachgelesen.
Versuch doch einmal folgendes: dbi=createImage(getWidth(),getHeight()); Ich kann es jetzt leider nicht ausprobieren. Laß' dir zumindest das Ergebnis (dbi) anzeigen, bzw. auch die Werte von getWidth() und getHeigth(). |
Nein, dass wars nicht, aber in der update-methode funktioniert es!!!
Ps: GotoJava 2 3.Auflage rulez |
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag