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();
}
}