import java.awt.*; import java.lang.*; /* Die Klasse Imagecanvas ist ein java.awt.Canvas, das ein Image in einem java.awt.Container darstellt. Sie wird gebraucht, um das Sparschwein und das Geld im Frame (Klasse Sparschwein) anzuzeigen. Imagecanvas kann auf Mausclicks reagieren und _einen_ Listener aufrufen, der das Interface MouseListener implementiert. */ class Imagecanvas extends Canvas { private Image sourceImage; private int x,y,width,heigth; private MouseListener listener; public Imagecanvas(Image image,int _x,int _y,int _width,int _heigth) { super(); sourceImage = image; x=_x; y=_y; width=_width; heigth=_heigth; this.resize(new Dimension(width,heigth)); reshape(x,y, width,heigth); } //Fuer die Einbindung in einem Layoutmanager public Dimension getMinimumSize(){ return new Dimension(width,heigth); } public Dimension getPreferredSize(){ return new Dimension(width,heigth); } //Darstellen des Bildes public void paint(Graphics g) { reshape(x,y, width,heigth); g.drawImage(sourceImage, 0, 0, width, heigth, this); } //Maus gedrueckt: Listener alarmieren public boolean mouseDown(Event evt, int x, int y){ try{ listener.mousePressed(this); return true; } catch (java.lang.NullPointerException e) { return false; } } public void addMouseListener(MouseListener _listener){ listener=_listener; } }