AWT Zeichnen in Canvas

  • Themenstarter Themenstarter 2312qsdqw
  • Beginndatum Beginndatum
2

2312qsdqw

Gast
Hi,

wenn ich was in einem Canvas zeichne, ist es sofort wieder weg. Nur innerhalb einer Schleife funzt es.. Ist das normal oder mache ich was falsch?

Java:
Graphics g = canvas.getGraphics();
        while (true) {
                g.drawLine(x1, y1, x2, y2);
            }
        }
 
Nicht auf einer Component 'getGraphics' aufrufen. Alles, was gezeichnet wird, muss von der paint-Methode aus (in das dort übergebene Graphics) gezeichnet werden. Siehe auch Forensuche.
 
es wäre praktisch vorher im Internat nach Beispielen zu schauen, wie im Canvas gemalt wird,
da du dort keines ohne Ableiten findest lautet die Antwort: ja

z.B.
Grafikfenster
welches sich eher auf Swing konzentriert, aber auch ein AWT-Canvas enthält
 
d.h. ohne ableiten von canvas funzt das nicht?
jein. mit active redering geht es, sprich du holst dir in regelmäßigen Abständen ein Graphics Object (meist von einer BufferStrategy) und malst damit. Das ist allerdings nur bei Spiele-Entwicklung üblich.
Ansonsten bleibt dir nichts anderes übrig als von Canvas bzw JPanel (falls swing was außer bei active rendering empfehlentswert ist) zu erben und die paint bzw. paintComponent (bei swing) zu überschreiben
 

Neue Themen


Zurück
Oben