Java - Les Basics de l'Applet

Salut à toi, futur(e) développeur(euse) Java ! Je suis ravi de commencer cette aventure passionnante avec toi dans le monde des applets Java. En tant que quelqu'un qui enseigne la programmation depuis plus d'une décennie, je peux te garantir que bien que la route à venir puisse sembler décourageante, elle est également incroyablement gratifiante. Alors, mettons nos manches à la pâte et plongeons directement dedans !

Java - Applet Basics

Qu'est-ce qu'une Applet Java ?

Avant de commencer à coder, comprenons ce qu'est réellement une applet. Pense à une applet comme à un petit programme Java qui peut être intégré dans une page web. C'est comme une mini application qui s'exécute dans ton navigateur, apportant de l'interactivité et du contenu dynamique à des pages HTML autrement statiques.

Cycle de Vie d'une Applet en Java

Chaque applet traverse une série d'étapes au cours de sa vie. Comprendre ce cycle de vie est crucial pour développer des applets efficaces. Voici un résumé :

  1. Initialisation
  2. Démarrage
  3. Exécution
  4. Arrêt
  5. Destruction

Flux du Cycle de Vie d'une Applet Java

Pour mieux visualiser ce flux, regardons un tableau qui détaille les méthodes appelées à chaque étape :

Étape Méthode Appelée
Initialisation init()
Démarrage start()
Exécution paint()
Arrêt stop()
Destruction destroy()

Maintenant, plongeons plus profondément dans chacune de ces étapes avec quelques exemples de code.

Une Simple Applet Java "Hello, World"

Commençons par l'exemple classique "Hello, World". Cela nous aidera à comprendre la structure de base d'une applet.

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorldApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello, World!", 50, 25);
}
}

Reprenons cela :

  1. Nous importons les classes nécessaires des packages java.applet et java.awt.
  2. Notre classe HelloWorldApplet étend la classe Applet.
  3. Nous surchargeons la méthode paint pour dessiner notre message "Hello, World!".

La Classe Applet

La classe Applet est la superclasse de toutes les applets. Elle fournit un cadre pour l'exécution des applets, y compris des méthodes pour l'initialisation, le démarrage, l'arrêt et la destruction de l'applet. Voici un exemple plus complet :

import java.applet.Applet;
import java.awt.Graphics;

public class LifeCycleApplet extends Applet {
String message = "";

public void init() {
message += "Initialisation... ";
}

public void start() {
message += "Démarrage... ";
}

public void stop() {
message += "Arrêt... ";
}

public void destroy() {
message += "Destruction... ";
}

public void paint(Graphics g) {
g.drawString(message, 20, 20);
}
}

Cette applet demonstrates toutes les méthodes du cycle de vie. Chaque méthode ajoute à la chaîne message, qui est ensuite affichée dans la méthode paint.

Invocation d'une Applet

Pour exécuter une applet, nous devons l'intégrer dans une page HTML. Voici comment tu peux le faire :

<html>
<body>
<applet code="LifeCycleApplet.class" width="300" height="100">
Ton navigateur ne supporte pas la balise <code>applet</code>.
</applet>
</body>
</html>

Récupération des Paramètres de l'Applet

Les applets peuvent recevoir des paramètres de la page HTML. Cela permet une plus grande flexibilité dans le comportement de l'applet. Voici comment :

import java.applet.Applet;
import java.awt.Graphics;

public class ParameterApplet extends Applet {
public void paint(Graphics g) {
String name = getParameter("name");
g.drawString("Hello, " + name + "!", 50, 25);
}
}

Et dans le HTML :

<applet code="ParameterApplet.class" width="300" height="100">
<param name="name" value="Alice">
</applet>

Gestion des Événements

Les applets peuvent répondre aux interactions de l'utilisateur. Créons une simple applet avec un bouton cliquable :

import java.applet.Applet;
import java.awt.Button;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ButtonApplet extends Applet implements ActionListener {
Button b;
String message = "";

public void init() {
b = new Button("Clique-moi !");
add(b);
b.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
message = "Bouton cliqué !";
repaint();
}

public void paint(Graphics g) {
g.drawString(message, 50, 50);
}
}

Cette applet crée un bouton et répond aux clics en mettant à jour le message.

Affichage d'Images

Les applets peuvent également afficher des images. Voici un exemple simple :

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;

public class ImageApplet extends Applet {
Image img;

public void init() {
img = getImage(getDocumentBase(), "myimage.jpg");
}

public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
}
}

Cette applet charge une image du même répertoire que le fichier HTML et l'affiche.

Lecture Audio

Enfin, regardons comment les applets peuvent lire des fichiers audio :

import java.applet.Applet;
import java.applet.AudioClip;

public class AudioApplet extends Applet {
AudioClip clip;

public void init() {
clip = getAudioClip(getCodeBase(), "mysound.au");
}

public void start() {
clip.play();
}

public void stop() {
clip.stop();
}
}

Cette applet charge un fichier audio et le joue lorsque l'applet démarre, en arrêtant la lecture lorsque l'applet s'arrête.

Et voilà, les amis ! Nous avons couvert les bases des applets Java, de leur cycle de vie à la gestion des événements, l'affichage des images et la lecture audio. Souviens-toi, la pratique rend parfait, donc n'hesite pas à expérimenter avec ces exemples et à créer tes propres applets. Bonne programmation !

Credits: Image by storyset