import java.awt.Image;
import java.awt.Graphics;
import java.awt.*;
/**
* Klasse zum einfachen Darstellen eines Bildes.
**/
public class ImageCanvas extends Canvas {
private Image img = null;
/**
* Erzeugt ein ImageCanvas aus dem angegebenen Bild
* @param nimg Bild das dargestellt werden soll
**/
ImageCanvas(Image nimg) {
img = nimg;
MediaTracker mt = new MediaTracker( this );
mt.addImage(img,0);
try {
mt.waitForAll();
}
catch (InterruptedException ex){
//nix
}
}
/**
* Legt (auch nachtraeglich) das anzuzeigende Bild fest
* @param nimg Bild das dargestellt werden soll
**/
public void setImage(Image nimg) {
img = nimg;
MediaTracker mt = new MediaTracker( this );
mt.addImage(img,0);
try {
mt.waitForAll();
}
catch (InterruptedException ex){
//nix
}
repaint();
}
/**
* Paintmethode
**/
public void paint( Graphics g ) {
g.drawImage( img, 0, 0, this );
}
/**
* Gibt die gewuenschte Groesse zurueck
* return Dimension
-Objekt mit den gewuenschte Ausmassen
**/
public Dimension getPreferredSize() {
return new Dimension( img.getWidth( this ), img.getHeight( this ) );
}
/**
* Gibt die Mindestgroesse zurueck
* return Dimension
-Objekt mit den minimalen Ausmassen
**/
public Dimension getMinimumSize() {
return getPreferredSize();
}
}