Hier als Referenzlösung die Klasse hhCanvas:
import java.awt.*;
public class hhCanvas extends Canvas {
private int iBreite; private int iHöhe; private Image imBild; private Graphics grGrafik;
//Konstruktor public hhCanvas(int iBreite, int iHöhe) { this.iBreite=iBreite; this.iHöhe=iHöhe; this.setSize(iBreite,iHöhe); }
public void init() { imBild=createImage(iBreite,iHöhe); grGrafik=imBild.getGraphics(); }
public void paint(Graphics g) { g.drawImage(imBild,0,0,this); }
public void update(Graphics g) { paint(g); }
public void Zeichnen() { int iHausbreite; int iHaushöhe; int iDachhöhe; int iHalbesHaus;
iHausbreite=50; iHaushöhe=3*(int)(iHausbreite/2); iDachhöhe=(int)(iHausbreite/4); iHalbesHaus=(int)(iHausbreite/2);
grGrafik.drawRect(100,100,iHausbreite,iHaushöhe); grGrafik.drawLine(100,100+iHaushöhe,100+iHausbreite,100); grGrafik.drawLine(100,100,100+iHausbreite,100+iHaushöhe); grGrafik.drawLine(100,100,100+iHalbesHaus,100-iDachhöhe); grGrafik.drawLine(100+iHalbesHaus,100-iDachhöhe,100+iHausbreite,100); repaint(); }
public void Löschen() { grGrafik.setColor(Color.white); grGrafik.fillRect(0,0,iBreite,iHöhe); grGrafik.setColor(Color.black); repaint(); }
}