// -------------------------------------------------- // Image3 // Utilisation du MediaTracker pour le chargement // d'images en Java // -------------------------------------------------- import java.applet.*; import java.awt.*; public class Image3 extends Applet { // Buffer pour l'image de fond Image fond; // Buffer pour l'image principale Image im; // MediaTracker, pour suivre le chargement des images MediaTracker mt=null; // -------------------------------------------------- // INITIALISATION DE L'APPLET // -------------------------------------------------- public void init() { // Couleur de fond de l'applet en blanc setBackground(Color.white); // Chargement de l'image de fond fond = getImage(getCodeBase(), "bkgGrisRelief.gif"); // Chargement de l'image principale im = getImage(getCodeBase(), "smiley.gif"); // Initialiser le MediaTracker mt = new MediaTracker(this); // Démarrer le suivi du chargement d'images mt.addImage(im, 0); mt.addImage(fond, 0); } // -------------------------------------------------- // AFFICHAGE // -------------------------------------------------- public void paint(Graphics g) { // Sortir si les images ne sont pas complètement chargées if (!mt.checkAll(true)) { g.drawString("Chargement en cours...", 10, 20); repaint(100); return; } // Dessin de l'image de fond // Le fond est dessiné 3 fois pour couvrir l'applet g.drawImage(fond, 0, 0, this); g.drawImage(fond, 100, 0, this); g.drawImage(fond, 200, 0, this); // On dessine l'image en x=0 et y=0 g.drawImage(im, 0, 0, this); // Idem, en x=130 et y = 20 g.drawImage(im, 130, 20, this); } }