210 likes | 297 Views
Les applets. Plan. Architecture mise en œuvre (matérielle et logicielle) Implémentation d’une applet Transformation d’une application graphique en une applet Le chargement des applets Les fichiers JAR Le cycle de vie d’une applet Passage de paramètres à une applet
E N D
Plan • Architecture mise en œuvre (matérielle et logicielle) • Implémentation d’une applet • Transformation d’une application graphique en une applet • Le chargement des applets • Les fichiers JAR • Le cycle de vie d’une applet • Passage de paramètres à une applet • Restrictions imposées à une applet
Implémentation d’une applet (1/4) • Il faut tout d’abord écrire un programme Java. import java.awt.*; import javax.swing.*; class Panneau extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.drawString("Bienvenue dans mon applet !", 75, 100); } }
Implémentation d’une applet (2/4) public class Applet1 extends JApplet { public void init() { // Le gestionnaire mise en forme par défaut est de type // BorderLayout. Container contentPane = getContentPane(); contentPane.add(new Panneau()); } } • Ce programme doit être compilé en un fichier de classes (fichier(s) « .class »).
Implémentation d’une applet (3/4) • Enfin, écrire un fichier HTML indiquant le fichier à charger <HTML> Début fichier HTML <BODY> Début corps <APPLET Commande applet CODE="Applet1.class" Nom du fichier contenant les bytecodes de l’applet WIDTH=300 Largeur initiale de la fenêtre consacrée à l’applet HEIGHT=300 Hauteur initiale de la fenêtre consacrée à l’applet > </APPLET> Fin commande applet </BODY> Fin corps </HTML> Fin fichier HTML
Implémentation d’une applet (4/4) • L’arbre d’héritage de cette application est :
Remarques • La gestion événementielle dans une applet est identique à celle vue lors de la programmation graphique. • Une applet peut être téléchargée à partir d’un répertoire autre que le répertoire de base. Par exemple : < APPLET CODE="Applet1.class" CODEBASE="Rep" WIDTH=300 HEIGHT=300 >
Transformation d’une application graphique en une applet (1/2) • Pour convertir une application graphique en une applet, il faut : • Supprimer la méthode main de l’application. Le premier objet devant être créé est spécifiée dans la page HTML. • Remplacer la classe JFrame par une classe JApplet . Rendre cette classe public, c’est indispensable au chargement de l’applet. Généralement, cette classe ne sera pas dotée d’un constructeur : les activités réalisées dans le constructeur de la fenêtre principale de l’application seront reportées dans la méthode init de l’applet.
Transformation d’une application graphique en une applet (2/2) • Eliminer l’appel à setSize. Pour les applets, le dimensionnement dépend des paramètres WIDTH et HEIGHT du fichier HTML. De même, si l’application effectue un appel à setTitle, il faut le supprimer. En effet, les applets n’ont pas de barre de titre, mais rien n’empêche de donner un titre à la page Web en tant que telle via la balise HTML <TITLE>. • Il faut aussi supprimer l’appel à addWindowListener, car une applet ne peut être fermée : elle s’achève quand on sort du navigateur. • Créer une page HTML avec la balise appropriée au chargement du code de l’applet.
Exercice Transformer le programme Java “ Calculatrice ” afin qu’il devienne une applet. Puis écrire le fichier HTML qui permettra le chargement de l’applet précédente dans le navigateur du poste client.
Correction exercice • Fichier source AppletCalculatrice.java • Fichier source AppletCalculatrice.html
Le chargement des applets (1/2) Que se passe-t-il lorsque le navigateur rencontre dans le fichier HTML précédent la ligne suivante ? <APPLET CODE="AppletCalculatrice.class" WIDTH=200 HEIGHT=200>
Les fichiers JAR(Java Archive 1/2) • Ils permettent de regrouper dans un seul fichier tous les éléments nécessaires au fonctionnement de l’applet (fichiers de classes, images, audio) => Diminution du nombre de connexions. • Pour créer un fichier d’archive jar cvf AppletCalculatrice.jar AppletCalculatrice.class PanneauCalculatrice.class ou jar cvf AppletCalculatrice.jar *.class
Les fichiers JAR(Java Archive 2/2) • Pour utiliser une archive JAR dans un fichier HTML. <APPLET CODE="AppletCalculatrice.class" Nom de l’applet ARCHIVE="AppletCalculatrice.jar" Fichier JAR WIDTH=180 HEIGHT=180> </APPLET> • Le fichier AppletCalculatrice.jar est téléchargé depuis le serveur WEB avant le chargement de l’applet AppletCalculatrice. • Chaque fois, qu’un fichier de classes est requis, le navigateur le recherche dans le fichier JAR. S ’il n ’est pas présent alors il est recherché sur le serveur WEB.
Le cycle de vie d’une applet Initialisation de l’applet Nouveau init( ) start( ) Applet stoppée Applet active stop( ) destroy() start( ) Mort
Passage de paramètres à une applet (1/2) • Une applet peut recevoir des paramètres en provenance du fichier HTML. Par exemple : <HTML> <BODY> <APPLET CODE = "Infos.class" WIDTH = 250 HEIGHT = 100 > <PARAM NAME = "Texte", VALUE = "Un message"> <PARAM NAME = "Nombre", VALUE = "2000"> </APPLET> </BODY> </HTML>
Passage de paramètres à une applet (2/2) import javax.swing.* ; public class Infos extends JApplet { public void init () { String nomTexte = getParameter ("Texte") ; String nomNombre = getParameter ("Nombre") ; int nombre ; System.out.println ("Texte = " + nomTexte) ; System.out.println ("Nombre = " + nomNombre) ; nombre = Integer.parseInt(nomNombre) ; } }
Restrictions imposées aux applets (1/2) • La machine virtuelle Java interdit à une applet de : • Lancer un programme exécutable localement. • Lire ou d’écrire dans le système de fichiers local. • Communiquer avec un hôte différent du serveur d’où elle provient. • Obtenir des informations relatives au système local à l’exception d’informations banales telles que : version de Java utilisée, les caractères de fin de ligne, etc.
Restrictions imposées aux applets (2/2) • Ces restrictions pouvant être trop fortes dans certains cas, il est possible de créer des applets certifiés. • L’applet transporte alors un “ certificat sécurisé ” qui donne l’origine de l’applet. Son origine étant garantie, il est alors possible d’attribuer à l’applet des droits supplémentaires.