![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 40
Beiträge: 1.429
|
![]() Ich kriege immer beim ausführen meines Baumes an der selben Stelle eine NullPointerException (seit wann gibt es in Java denn Pointer
![]() ![]() 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); } } |
![]() |
![]() |
![]() |
#3 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 40
Beiträge: 1.429
|
![]() nein, nicht gelesen, ich habe mir die neue Doku von 1.4 noch nicht runtergeladen
![]() ![]() thx, kannst du mir auch sagen, was ich machen muss damit es funzt??? |
![]() |
![]() |
![]() |
#4 |
Hero
![]() |
![]() 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().
____________________________________
Bibel |
![]() |
![]() |
![]() |
#5 |
Elite
![]() Registriert seit: 14.11.1999
Alter: 40
Beiträge: 1.429
|
![]() Nein, dass wars nicht, aber in der update-methode funktioniert es!!!
Ps: GotoJava 2 3.Auflage rulez |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|