// on importe les classes dont on a besoin import java.awt.*; import java.awt.event.*; import java.awt.Color; import java.awt.Image; import java.awt.Graphics; /** * Definition de la classe ImageCanvas. Cette classe permet l'affichage * d'une image dont le contenu se treouve dans un fichier */ public class ImageCanvas extends Canvas { private Image img; /** * Constructeur vide d'un ImageCanvas */ public ImageCanvas () { img = null; } /** * Constructeur d'un ImageCanvas * * @param fichierImage Nom du fichier définissant l'image à afficher */ public ImageCanvas ( String fichierImage) { img = getToolkit().getImage(fichierImage); } /** * Affichage de l'ImageCanvas * * @param g contexte graphique */ public void paint ( Graphics g) { if (img == null) { super.paint(g); g.setColor(Color.black); } else { g.drawImage(img, 0, 0, this); } } /** * Récupération de la taille minimum de l'ImageCanvas */ public Dimension getMinimumSize() { return new Dimension(img.getWidth(this), img.getHeight(this)); } /** * Récupération de la taille préférencielle de l'ImageCanvas */ public Dimension getPreferredSize() { return new Dimension(img.getWidth(this), img.getHeight(this)); } /** * Récupération de l'image */ public Image getImage() { return img; } /** * Affectation de l'image * * @param img Image à afficher */ public void setImage(Image img) { this.img = img; repaint(); } }