Introduction aux applets (conteneurs)

publicité
Introduction aux applets (conteneurs)




Une applet est une classe destinée à être
chargée depuis une machine (serveur) et être
exécutée sur une autre machine (client) ayant un
navigateur.
Une applet ne peut pas lire ou écrire dans le
système de fichiers du client (sauf dans des
répertoires prédéfinis)
Une applet ne peut pas communiquer avec
d'autres machines que celle depuis laquelle elle a
été chargée.
Une applet ne peut pas démarrer l'exécution de
programmes sur le système du client
Licence (DMI/FST Limoges)(TOB)
1
Introduction aux applets (conteneurs)
Constructeur
Applet() // généralement appelé par héritage
 Quelques méthodes
void init() // exécutée au chargement de l'applet
void start() // exécutée au demarrage de l'applet
void stop() // exécutée à l'arrêt de l'applet
void resize(Dimension) // redimensionne l'applet
String getParameter(String) // paramêtre HTML (balise <applet>)

Licence (DMI/FST Limoges)(TOB)
2
Introduction aux applets (conteneur)
Exemple d'applet:
// applet qui dessine un rectangle
import java.awt.*; // paquetage graphique
import java.applet.*; // paquetage applet
public class ExpleApplet extends Applet
{ public void paint (Graphics g)
{ g.fillRect( 5,5,60,40); } // dessine un rectangle
}
Rem:
L'applet hérite de la classe java.awt.Panel qui est un
Component et sa principale activité est paint(), c'est
pourquoi nous avons redéfini paint() dans l'applet.

Licence (DMI/FST Limoges)(TOB)
3
Introduction aux applets (conteneurs)
Compiler cette classe:
javac ExpleApplet.java
 Pour exécuter cette applet, invoquer (référencer) le
résultat de la compilation de cette classe depuis un fichier
HTML qui sera interprété par un browser (navigateur).
<html>
<head> <title> Exemple d'applet </title> </head>
<body>
< applet code=ExpleApplet.class width=500 heigth=200 >
</applet>
</body>
</html>

Licence (DMI/FST Limoges)(TOB)
4
Introduction aux applets (conteneurs)

Autre Exemple
//utilisation d'une applet comme Container de libelles
import java.awt.*;
import java.applet.*;
public class Libelles extends Applet
{ public void init() // exécuté par l'applet au chargement
{ add ( new Label( « à gauche par défaut »));// cadrage à gauche
add ( new Label(« Au centre », Label.CENTER));
add ( new Label(« A droite», Label.RIGHT));
}
public void paint( Graphics g)
{ g.drawString(« Exemples de libéllés », 10,150); }
}
Licence (DMI/FST Limoges)(TOB)
5
Introduction aux applets (conteneurs)



Rem1: La méthode add() permet d'ajouter un composant
(ici un libelle) au conteneur graphique (ici une applet). Il
existe d'autres possibilités de mise en page du conteneur
avec la méthode setLayout et les classes BorderLayout
et GridLayout (FlowLayout par défaut hérité de Panel)
Rem2: Le résultat de la compilation de la classe
Libelles.java (applet Libelles.class) est à mettre dans un
fichier HTML qui sera interprété par un navigateur
(browser).
Rem3: Cette applet est une variante du programme déjà
vu avec pour Container un Frame et une procédure main()
pour l'instanciation du Frame. La procédure init() est
équivalente au constructeur du Frame. Les paramêtres de
la méthode setSize de Frame sont remplacés par les
paramêtres de la balise <applet> du fichier HTML.
Licence (DMI/FST Limoges)(TOB)
6
Introduction aux applets (conteneurs)
Compiler cette classe:
javac Libelles.java
 Fichier HTML pour executer cette classe.
<html>
<head> <title> Exemple de Libelles </title> </head>
<!-- équivalent à setTitle de Frame >
<body>
< applet code=Libelles.class width=500 heigth=200 >
<!-- equivalent à setSize+setVisible de Frame >
</applet>
</body>
</html>

Licence (DMI/FST Limoges)(TOB)
7
Téléchargement