import java.lang.*; import java.awt.*; import java.awt.event.*; /** * La classe ApplicationCanvas implante un Canvas de dessin * faisant appel a la methode paint d'une classe implantant {@link Afficheur Afficheur}. * * @author Nicolas Janey * @author nicolas.janey@univ-fcomte.fr * @version 1.0, 16/11/08 */ public class ApplicationCanvas extends Canvas { /** * {@link Afficheur Afficheur} gere par le Canvas. */ private Afficheur afficheur; /** * Nombre d'images deja affichees. */ private static int image = 0; /** * Constructeur pour un ApplicationCanvas * muni de son {@link Afficheur Afficheur}. * * @param afficheur l'objet {@link Afficheur Afficheur} d'initialisation. * */ public ApplicationCanvas(Afficheur afficheur) { super(); this.afficheur = afficheur; } /** * Affecte un {@link Afficheur Afficheur} a un ApplicationCanvas. * * @param afficheur l'objet {@link Afficheur Afficheur} effecte. * */ public void set(Afficheur afficheur) { this.afficheur = afficheur; repaint(); } /** * Methode d'affichage. * * @param g l'objet Graphics d'affichage gere par le canvas. * */ public void paint(Graphics g) { image++; if ( afficheur != null ) afficheur.paint(g,image,getWidth(),getHeight()); } }