Dans cette fiche...

<Retour>

Description de l'applet

Difficulté : Résultat
Cette applet est une variante de Image1.class.

Elle charge 2 images (une image principale et une image de fond), et les affiche en superposition.

Votre navigateur n'est pas compatible Java !

Listing de l'applet

// --------------------------------------------------
// Image2
// Chargement d'images en Java
// --------------------------------------------------
import java.applet.*;
import java.awt.*;
public class Image2 extends Applet
{
	// Buffer pour l'image de fond
	Image fond;
	// Buffer pour l'image principale
	Image im;
	
	// --------------------------------------------------
	// 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");
	}
	// --------------------------------------------------
	// AFFICHAGE
	// --------------------------------------------------
	public void paint(Graphics g)
	{
		// Dessin de l'image de fond
		g.drawImage(fond, 0, 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);
	}
}

Le listing en détail...

// Buffer pour l'image de fond
Image fond;
// Buffer pour l'image principale
Image im;
On crée 2 objets de type Image, qui serviront à stocker et à manipuler l'image de fond et l'image principale.
 
// Chargement de l'image de fond
fond = getImage(getCodeBase(), "bkgGrisRelief.gif");
// Chargement de l'image principale
im = getImage(getCodeBase(), "smiley.gif");
Charger les 2 images.
Les 2 images sont stockées au même endroit que l'applet Image2.class, ce qui explique l'utilisation de getCodeBase().
Pour plus de précisions, cliquez ici.
 
// Dessin de l'image de fond
g.drawImage(fond, 0, 0, this);
On dessine d'abord le fond.
Celui-ci ne fait volontairement que 100x100 pixels. Il ne couvre donc pas toute l'applet. On voit mieux ainsi la superposition des images.
Pour mieux intégrer l'image dans la page HTML, il suffirait de charger comme fond d'applet l'image de fond de la page HTML.
 
// 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);
On dessine maintenant l'image du Smiley (2 fois).
Le Smiley a été enregistré comme GIF transparent, ce qui explique pourquoi on voit l'image de fond derrière.

Intégration de l'applet dans la page

Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :

<applet code="Image2.class" width=250 height=90>
Votre navigateur n'est pas compatible Java !
</applet>

Pour plus de précisions sur l'intégration d'une applet, cliquez ici.