APPLETS
Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution est effectuée par la machine virtuelle du navigateur (plug-in) ou par l'utilitaire appletviewer du JDK.
Applets : restrictions Droits d'un programme Java s'exécutant dans un navigateur Web ou dans appletviewer Nav. appletviewer Lire les fichiers locauxNonOui Écrire dans les fichiers locauxNonOui Lire des informations sur les fichiers NonOui Supprimer un fichierNonNon Lancer un autre programmeNonOui Lire la propriété user.nameNonOui Sortir de l'applet par exit()NonOui Créer une fenêtre popupOui ( message) Oui
Insertion dans une page Html Balise APPLET Balise OBJECT <OBJECT codetype="application/octet-stream" classid="java:HelloWorld.class" width=600 height=400 > 35 attributs. Voir documentation...
Passer des informations à une applet Balise PARAM <OBJECT CLASSID="HelloWorld.class" WIDTH=200 HEIGHT=100 PARAM NAME=font VALUE="Helvetica" PARAM NAME=size VALUE="48"> Les paramètres sont toujours passés sous forme de chaînes. Un transtypage peut être nécessaire dans le code de l'applet : public class UneApplet extends JApplet { public void init() { String fontName = getParameter("font"); int fontSize = Integer.parseInt(getParameter("size"));... }
Gérer le chargement de l'applet <OBJECT CLASSID="HelloWorld.class" WIDTH=100 HEIGHT=100 CODEBASE="/classes/" STANDBY = "Merci de patienter…" > <!-- Le code suivant est exécuté si l'applet n'a pas été lancée correctement, par ex. si le navigateur est incompatible avec Java--> Échec du chargement de l'applet
Fichiers Jar Les différents fichiers.class,.gif, etc… constituant l'applet peuvent être réunis et compressés dans un seul fichier.jar (Java Archive). Raccourcir la durée du chargement initial au démarrage de l'applet Supprimer le chargement d'autres fichiers pendant l'exécution. jar.exe fait partie du jdk. Créer un fichier jar : jar cf FileName.jar Fichier1 Fichier2... Le fichier HTML fera référence au fichier.jar <OBJECT CLASSID="HelloWorld.class" ARCHIVE = "Filename.jar" WIDTH=200 HEIGHT=100 PARAM NAME=font VALUE="Helvetica" PARAM NAME=size VALUE="48">
Structure d'une applet public class HelloWorld extends java.applet.Applet { public void init() // Appelée 1 fois. Similaire à un constructeur { } public void start() // Appelée à chaque chargement de la page { } public void stop() // Appelée lorsque l'utilisateur quitte {// la page } public void destroy() // Appelée à l'arrêt du navigateur { } ou public class HelloWorld extends JApplet {…} // Java 2 Pas de méthode main().
Application -> applet Créer une page HTML pour charger l'applet Supprimer la méthode main () de l'application Remplacer la classe JFrame par la classe JApplet. Cette classe doit être publique. Supprimer l'appel à setSize () : la taille de l'applet est donnée dans la page HTML par les paramètres WIDTH et HEIGHT Supprimer l'appel à WindowListener. Une applet ne peut pas être explicitement fermée. Recopier le code placé dans le constructeur de l'application vers la méthode init() de l'applet, si ce code contient des appels à getParameter ().