Understanding Java Applets

Programming, Java, Applets · course

Voir tous les documents en programmation

COURS

APPLET

JAVA

1

QU’EST CE QU’UNE APPLET

 Une Applet est une application java exécutée

Internet

dans un navigateur Web (Netscape,

Explorer, …)

Une Applet ne possède pas de point d’entrée

main ( ) car celui-ci se trouve déjà dans le

navigateur

Le navigateur contient en interne :

▪La machine virtuelle

▪Sa propre méthode

public static void main (String [ ] args)

le code qu’il va exécuter

Le navigateur doit comprendre java et en plus effectuer

des contrôles sur

(C’est

pourquoi on ne laisse pas le code de l’Applet contrôler

la machine virtuelle)

application

fait

navigateur

Le

indépendante qui se charge d’exécuter les Applets après

avoir effectué les contrôles nécessaires.

tourner

donc

une

2

QU’EST CE QU’UNE

APPLET (SUITE)

Mais alors où commence l’exécution de mon

Applet ?

Il a été défini un ensemble de méthodes qui sont

utilisées comme différents points d’entrées en fonction

du cycle de vie de l’Applet :

▪public void init ( )

▪public void start ( )

▪public void stop ( )

▪public void destroy ( )

▪public void paint (Graphics g) …

Pourquoi plusieurs points d’entrée ?

Une Applet est une application qui s’exécute dans un

browser son utilisation dépend du bon vouloir de

l’utilisateur du browser.

3

LES MÉTHODES DE LA CLASSE APPLET

APPELÉES PAR LE BROWSER

• init ( ) : appelée à l’initialisation de l’Applet par le

navigateur. Elle n’est exécutée qu’une seule fois. On y met

toutes les opérations qui doivent être réalisée avant

l’exécution de l’Applet (ex: chargement des graphismes,

Publicité

des sons, …)

• start ( ) : appelée par le navigateur chaque fois que

l’Applet est interrompue et réactivée (ex: on quitte la page

contenant l’Applet et en suite on revient dessus). Elle est

appelée soit après init ( ), soit après un appel à stop ( )

• stop ( ) : appelée à chaque fois que le navigateur arrête

l’exécution de l’Applet (ex: changement de page,

navigateur icônifié, ..). On peut penser ici à arrêter ici par

exemple la musique, …

• destroy ( ) : est appelée lorsqu’on quitte le navigateur

• paint ( Graphics g) : appelée chaque fois que l’on

redessine l’Applet

Remarque :

Si on définit un constructeur pour la classe qui hérite de

Applet, celui ci est appelé en premier avant init ( )

4

Créer une Applet

 Pour créer une Applet, il suffit d’hériter de la

classe java.applet.Applet ou

javax.swing.JApplet (hérite de Applet) et

surcharger les méthodes init ( ), start ( ), etc …

Exemple :

import java.applet.*;

public class MonApplet extends Applet

{

// surcharge des méthodes de notre

// choix

public void init ( )

{ …..

}

public void start ( )

{ …..

}

public void stop ( )

{ …..

}

}

5

LA CLASSE APPLET

 Par héritage la classe MonApplet est devenue une

Applet

▪ Ma classe appartient donc à toutes les classes de l’arbre

d’héritage de la classe Applet :

java.lang.Object

java.awt.Component

java.awt.Container

java.awt.Panel

java.applet.Applet

MonApplet

 Object : fournit le savoir-vivre d’une entité Java

 Component

:

composant graphique à l’écran

permet

d’apparaître

Publicité

comme

un

 Container

:

d’autres entités visuelles

fournit

la possibilité d’incorporer

 Panel : autorise l’alignement des entités visuelles

incorporées

 Applet : complète ce qui précède pour fournir les

points d’entrée appelés par le navigateur web

 MonApplet : çadépenddecequ’onvaymettre!

6

EXÉCUTER UNE APPLET

 Une Applet s’exécute au sein d’un navigateur, et est

chargée et appelée à travers un fichier HTML

 Dans ce fichier HTML, un tag APPLET permet de

spécifier la classe de base de cette Applet et les

paramètres nécessaires à son lancement.

 La JVM se charge de la récupération des classes

utiles à l’exécution de l’Applet. Les classes de l’API

sont déjà présentes dans le navigateur

Exemple :

<applet

code = « MonApplet.class »

name = « MonApplet »

width = 500

height = 500

codebase = « http://www.monserveur.org/java/ »

>

</applet>

7

LE TAG <APPLET>

 Syntaxe :

<applet … liste des attributs …>

</applet>

 Quelques attributs :

code : nom de la classe principale

name : nom de l’applet

width : longueur de la zone d’affichage de l’Applet dans

la page HTML

height : largueur de la zone d’affichage de l’Applet dans la

page HTML

codebase : répertoire contenant le chemin de la classe

proncipale (par défaut le répertoire courant)

 Exemple :

<applet

code = « MonApplet.class »

name = « MonApplet »

width = 500

height = 500

codebase = « http://www.monserveur.org/java/ »

>

</applet>

Publicité

8

LE TAG <APPLET>

Passage de paramètres à l’Applet

Dans la page HTML :

<applet … liste des attributs …>

<param name = nbre value = " 4 " >

</applet>

Récupération des paramètres

Dans le fichier java :

public void init ( )

{

int nombre;

String param1 = getParametre (" nbre ");

if (param1 == null) nombre = 0;

else nombre = Integer.parseInt (param1)

}

9

MÉTHODES UTILES DE LA

CLASSE APPLET

 public URL getDocumentBase( ) :

retourne L’URL du document HTML contenant

l’Applet

(La classe java.net.URL a une méthode getFile qui

retourne le nom du fichier de l’URL)

 public URL getCodeBase( ) :

retourne L’URL du répertoire de chargement de l’Applet

Remarque:

Une URL (Uniform Ressource Locator) est une adresse

qui permet de localiser une ressource sur un réseau :

Elle contient :

  • Le protocole utilisé : http, ftp, …
  • le nom du serveur ou son adresse IP
  • Le chemin et nom du fichier contenant les informations

Ex: http://www.atos.com/fichier.html

http://www.ibp.fr/pub/outils/util.exe

10

L’interface AppletContext

Toute applet peut disposer d'un objet de type

AppletContext qui représente le contexte dans

lequel s'exécute cette applet.

L'objet

AppletContext

permet

en

fait

d'interagir avec le navigateur.

 Pour récupérer cet objet, il suffit d'utiliser la

méthode de la classe Applet :

AppletContext getAppletContext( )

Quelques méthodes de AppletContext :

▪void showStatus (String mess) : permet d’afficher un

message dans la barre de status du navigateur

▪void showDocument (URL u) : permet d’afficher le

Publicité

document désigné dans la fenêtre courante du

navigateur

▪Image getImage (URL u) : permet de charger une

image dans un objet Image (supporte les formats JPEG

et GIF)

▪AudioClip getAudioClip (URL u) : permet de charger

une séquence audio …

11

EXEMPLE 1

import java.applet.*;

import java.net.* ;

public class Test extends Applet {

public void init ( ) {

AppletContext ctxt = getAppletContext();

ctxt.showStatus("Cette applet: Affiche un

document");

try

{

ctxt.showDocument(new

URL("http://www.elsnet.org/acl2001-

arabic.html"));

}

catch (MalformedURLException e)

{

}

}

}

12

EXEMPLE 2

import java.awt.*;

import java.applet.*;

public class ChargeImage extends Applet

{

private Image img;

public void init ( )

{

AppletContext ctxt = getAppletContext();

try

{

Image img = ctxt.getImage(new URL(getCodeBase(

).toString()+ « image.gif »));

}

catch (MalformedURLException e) {}

}

public void paint (Graphics g)

{

g.drawImage(img, 10, 10, this);

}

}

 public Image getImage( URL u ) :

retourne une image résidant en mémoire et pouvant

être affichée par Graphics.drawImage

13