Utilisations d'applets

Dans cette page, l'affichage des applets, puis quelques précisions sur des commandes, attributs, instructions ... et enfin le texte java de chaque applet.

AppletTest dessinée dans une zone 320x80.
La classe ./AppletXmp.class est chargée depuis ./appletXmp.html; ces deux fichiers sont autorisés en lecture à tout le monde.
Dans le fichier html, la balise est définie par:
<APPLET  CODEBASE = '.'  CODE='AppletXmp.class'
      NAME='PremApplet'

      WIDTH='320'  HEIGHT='80'
      HSPACE='0'  VSPACE='30'  ALIGN='right'
      >
Désolé ... votre navigateur n'utilise pas les applets.
</APPLET>
Désolé ... votre navigateur n'utilise pas les applets.

 

AppletXmp.class chargée depuis un fichier d'archive
en utilisant l'attibut: archive="appletXmp.jar" de la balise applet;
le nom est défini par:   name="TestApplet"

Désolé ... votre navigateur n'utilise pas les applets.
AppletCmd.class chargée depuis la même archive
Cette deuxième applet:
  • récupère un paramètre du fichier html
  • communique avec la précédente
  • Désolé ... votre navigateur n'utilise pas les applets.

     

    Quelques précisions

    Source de AppletXmp.java

    import java.applet.Applet; import java.awt.*; public class AppletXmp extends Applet { public int xTxt=35; // Pourquoi pas une private String nomf2 = "Helvetica"; int tf2=22; private Font f2 = new Font(nomf2,Font.BOLD,tf2);; private String txt="Affichage d'une applet"; //Construire l'applet public AppletXmp() { } //Initialiser l'applet public void init() { this.add(new Label("Une étiquette (classe Label)")); } /** Pour ré-afficher le contenu */ public void paint( Graphics cg) { cg.setColor(Color.red); cg.setFont(f2); cg.drawString( txt, xTxt, 55); } public void modifierAbscisse() { xTxt = 55 -(int)(Math.random()*40); } /** Méthodes standards */ public void start() { }; public void stop() { }; }

    Source de AppletCmd.java

    La récupération de la valeur du paramètre "surLeBouton" depuis la page html est effectuée dans la méthode 'init()'.
    Dans la méthode 'start()' on récupère le contexte de l'applet, mis en place par le navigateur, puis l'applet "TestApplet" elle même. Ne pas confondre ce nom, défini dans la balise applet, avec la classe, qui est 'AppletXmp'. import java.awt.*; import java.awt.event.*; public class AppletCmd extends java.applet.Applet { java.applet.AppletContext ac; AppletXmp xmp; // applet située au dessus dans la page Html Button b; public void init() { // Intitulé du bouton, récupéré depuis la page Html String txt = this.getParameter("surLeBouton"); b=new Button(txt); this.add(b); // Faire bouger: modifier l'abscisse et rafraichir l'affichage ActionListener cap = new ActionListener() { public void actionPerformed(ActionEvent e) { xmp.modifierAbscisse(); xmp.repaint(); } }; b.addActionListener(cap); } public void start() { // Récupérer l'autre applet (attendre au plus 20 sec.) ac = getAppletContext(); int i=0; xmp = (AppletXmp)ac.getApplet("TestApplet"); while(xmp==null && i++<20) { try { wait(1000); } catch(Exception e){} xmp = (AppletXmp)ac.getApplet("TestApplet"); } if(xmp!=null) { ac.showStatus("TestApplet(classe AppletXmp) identifiée"); } } }