7
Page 1 Les applets Jacques Lonchamp

Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Embed Size (px)

Citation preview

Page 1: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 1

Les applets

Jacques Lonchamp

Page 2: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 2

Présentation

Une applet est téléchargée à partir d’une machine distante qui fournit le code. Ce chargement est provoqué par l’analyse d’une page HTML. L’applet s’exécute dans la machine virtuelle du navigateur web.

Une applet est définie par une classe qui dérive de Applet (AWT) ou JApplet (Swing). C’est un conteneur du plus haut niveau comme JFrame.

Au lancement d’une applet on dispose automatiquement d’une fenêtre graphique. L’applet n’a pas de fonction main mais vit selon un certain cycle.

Les méthodes qui rythment ce cycle sont :– init () : exécutée quand la page html est chargée la 1ère fois,– start () : après init et chaque fois que l’on revient sur la page,– stop () : quand on quitte la page html (interrompt les méthodes

lancées dans start),– destroy () : quand l’applet est terminée (libère toutes les

ressources).

Page 3: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 3

La page HTML de lancement peut avoir la forme suivante (nous ne détaillons pas toutes les règles du HTML) :<HTML>

<BODY> <APPLET CODE="HelloWorldApplet.class"

WIDTH=500 HEIGHT=300

> <PARAM NAME= "chaine" value="Bonjour le monde"> </APPLET> </BODY></HTML>

Le code est cherché à l’adresse URL à partir de laquelle la page a été chargée. La taille de la fenêtre est fixée par WIDTH et HEIGHT. PARAM permet de passer des paramètres chaîne de caractères à l’applet.

La page HTML

Page 4: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 4

Exemple de code Java minimumimport javax.swing.*;Import java.awt.*; public class HelloWorldApplet extends JApplet { Font f = new Font("Serif", Font.BOLD, 36); public void paint (Graphics g) { g.setFont(f); g.setColor(Color.red); g.drawString(getParameter("chaine"),10,30); }}

Affiche le paramètre ‘chaine’, c’est-à-dire ‘Bonjour le monde’ dans une certaine fonte et à un certain emplacement dans l’applet.

En plus de la méthode paint, la méthode init() est très importante. C’est là que sont créés tous les éléments graphiques (menus, boutons, panneaux…) et les listeners correspondants.

Code de l’applet

Page 5: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 5

Exemple avec méthode init() :import javax.swing.*;import java.awt.*;import javax.swing.event.*;import java.awt.event.*; public class RJApplet extends JApplet implements ActionListener { private JPanel panCol, panCom; private JButton rouge, jaune; public void init() { panCol = new JPanel(); panCom = new JPanel(); getContentPane().add(panCol, "Center"); getContentPane().add(panCom, "South"); rouge = new JButton("rouge"); jaune = new JButton("jaune"); panCom.add(rouge); panCom.add(jaune); rouge.addActionListener(this); jaune.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==rouge) panCol.setBackground(Color.red); if(e.getSource()==jaune) panCol.setBackground(Color.yellow); }}

Page 6: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 6

<HTML> <BODY> <APPLET CODE="RJApplet.class"

WIDTH=250 HEIGHT=100 > </APPLET> </BODY></HTML>

Page 7: Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement

Page 7

Une applet ne peut pas (SecurityException) :– accéder aux fichiers locaux.– effectuer de connexions réseaux sauf sur l’hôte dont elle

provient.– lancer de programme exécutable local– obtenir des informations sur le système local.

C’est important quand l’applet provient d’un site distant. Ces restrictions peuvent être levées dans le cas

d’utilisation en intranet par un certificat de sécurité (qui prouve que l’applet est d’origine connue) ou via le gestionnaire de sécurité.

Applet et sécurité