Dans cette fiche...

<Retour>

Description de l'applet

Difficulté : Résultat
Deux événements se produisent lorsque la souris se déplace : mouseMove() et mouseDrag(). La différence ?

Déplacez la souris dans l'applet, en appuyant ou en relâchant le bouton gauche.

Votre navigateur n'est pas compatible Java !

Attention : lisez ceci avant de programmer des événements en Java 1.02.

Listing de l'applet

// -----------------------------------------
// EVTSOURIS3 : EVENEMENTS SOURIS (JDK 1.02)
// -----------------------------------------
import java.applet.*;
import java.awt.*;
public class EvtSouris3 extends Applet
{
	boolean SourisDeplacee, SourisTrainee;
	int SourisX, SourisY;
	public void init()
	{
		// Couleur du fond de l'applet
		setBackground(Color.black);	
		// Initialiser les variables
		SourisDeplacee = SourisTrainee = false;
	}	
	
	// --------------------
	// GESTION DE LA SOURIS
	// --------------------	
	// Déplacement de la souris (bouton relâché)
	public boolean mouseMove(Event evt, int x, int y)
	{
		SourisDeplacee = true;
		SourisTrainee = false;
		SourisX = x;
		SourisY = y;
		repaint();	
		return true;
	}
	
	// Déplacement de la souris (bouton enfoncé)
	public boolean mouseDrag(Event evt, int x, int y)
	{
		SourisTrainee = true;
		SourisDeplacee = false;
		SourisX = x;
		SourisY = y;
		repaint();	
		return true;
	}	
	
	// ---------
	// AFFICHAGE
	// ---------	
	public void paint(Graphics g)
	{
		// Est-ce que la souris se déplace ?
		if (SourisDeplacee)
		{
			g.setColor(Color.white);
			g.drawString("La souris est en x=" + SourisX + " et y=" + SourisY, 10, 40);
		}
			
		// Est-ce que la souris est trainée, avec le bouton enfoncé ?
		if (SourisTrainee)
		{
			g.setColor(Color.orange);
			g.drawString("La souris est en x=" + SourisX + " et y=" + SourisY, 10, 40);
		}
	}
}

Télécharger le listing

Le listing en détail...

Comme d'habitude, seules les nouveautés sont commentées.

public boolean mouseMove(Event evt, int x, int y)
public boolean mouseDrag(Event evt, int x, int y)
Pas de nouveauté bouleversifiante : l'événement mouseMove() a déjà été traité (il se produit quand la souris se déplace et que le bouton n'est pas enfoncé). Au contraire, mouseDrag() se produit quand la souris se déplace et que le bouton est enfoncé.
C'est tout !

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="EvtSouris3.class" width=250 height=100>
Votre navigateur n'est pas compatible Java !
</applet>

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