[PDF] [PDF] les applets - Cedric-Cnam

les applets le langage java VI-5 JMF Exemples indique au browser d'afficher l'applet dans



Previous PDF Next PDF





[PDF] Java - Applet Basics

Life Cycle of an Applet: Four methods in the Applet class give you the framework on which you build any serious applet: init: This method is intended 



[PDF] Java Applets Java Applets

Applet class defines methods as ♢ init( ) ♢ start( ) ♢ stop( ) ♢ destroy( ) ♢ and some others • These methods do not do anything ♢ They are stubs • You  



[PDF] Unit 1- Java Applets

21 avr 2018 · Applet class except paint() method • paint() method is defined in java awt Component class 1) init() : o 



[PDF] les applets - Cedric-Cnam

les applets le langage java VI-5 JMF Exemples indique au browser d'afficher l'applet dans



[PDF] ECRITURE DAPPLETS EN JAVA AVEC SWING - IUT de Bayonne

L'applet est constituée d'une classe publique héritant de la classe prédéfinie JApplet contenue dans Remarque : se reporter à la documentation de Java pour



[PDF] Applets

class" codetype="application/java" width="680" height="280"> Your browser cannot handle a Swing applet Other Attributes Inside applet Tag codebase 



[PDF] Java applets - KsuWeb

The new class inherits the methods of the ATM class Object oriented language Ref: http://java sun com/docs/books/tutorial/deployment/applet/index html/ 



[PDF] javaapplet Reference - OReilly

would expect in a reference manual—plus much more in the way of examples and practical java applet (Chapter 18, java applet Reference) • java awt 



[PDF] Chapter 3 - Introduction to Java Applets

Applet –Program that runs in •appletviewer (test utility for applets) •Web browser (IE, Communicator) → IIS setting –Executes when HTML (Hypertext Markup 

[PDF] appli apprendre piano ipad

[PDF] appli assistant sncf / ter sud

[PDF] appli gratuite pour apprendre a courir

[PDF] appli gratuite pour apprendre le chinois

[PDF] appli gratuite pour apprendre le japonais

[PDF] appli gratuite pour apprendre le russe

[PDF] appli pour apprendre a compter

[PDF] appli pour apprendre a courir

[PDF] appli pour apprendre a dessiner

[PDF] appli pour apprendre du vocabulaire

[PDF] appli pour apprendre du vocabulaire en anglais

[PDF] appli pour apprendre japonais

[PDF] appli pour apprendre l'arabe

[PDF] appli pour apprendre l'hebreu

[PDF] appli pour apprendre la guitare

Ecriture d'applets en Java avec JApplet M. DALMAU, IUT de BAYONNE 1

ECRITURE D'APPLETS EN

JAVA AVEC SWING

1 Ecriture d'une applet

Une applet est une application devant être placée dans un fichier HTML On doit donc l'insérer dans la page

HTML en lui allouant de la place (comme on le fait pour une image). Elle peut ensuite être exécutée par un

navigateur.

1.1 Intégration de l'applet dans une page HTML

L'applet est désignée dans la page HTML par la balise on précise le nom et le chemin de l'applet

ainsi que la place qui lui est réservée à l'écran et la façon dont elle l'occupe :

hauteur et largeur définissent les tailles en pixels disponibles pour les affichages de l'applet, ils peuvent aussi

être exprimés en % de la place disponible.

codebase peut être omis ou remplacé par "." s'il n'y a pas de sous répertoire pour l'applet.

On peut passer des paramètres à l'applet en les désignant dans la page HTML. Pour cela on utilise la balise

Ces paramètres sont des chaînes de caractères qui peuvent être récupérées par la méthode getParameter décrite

plus loin (voir 1.4.1).

Exemple de page HTML incluant une applet contenue dans le fichier Anime.class placé dans le répertoire applets

et à laquelle on transmet un paramètre Couleur de valeur rouge et un paramètre Vitesse de valeur 50 (cette valeur

n'est par un entier et devra être convertie) : Essai d'Applet : Animation paramétrée

Depuis la version 4 de HTML il est préférable d'utiliser la balise object plutôt que la balise APLLET. Ceci se

fait comme suit: On peut mettre ici un texte qui sera affiché si l'applet ne démarre pas Ecriture d'applets en Java avec JApplet M. DALMAU, IUT de BAYONNE 2

1.2 Exécution de l'applet

L'applet est constituée d'une classe publique héritant de la classe prédéfinie JApplet contenue dans la

bibliothèque javax.swing. Cette classe donnera, après compilation, le fichier nomDuFichierDApplet.class qui

sera référencé dans le texte HTML. Le navigateur appellera 6 méthodes de cette classe : la méthode public void init() lorsqu'il charge l'applet (chargement de la page) la méthode public void start() chaque fois que l'applet devient ou redevient visible la méthode public void stop()chaque fois que l'applet devient ou redevient invisible la méthode public void destroy() lorsqu'il arrête l'applet la méthode public void paint(Graphics) chaque fois qu'il affiche l'applet

Il conviendra de surcharger certaines de ces méthodes pour obtenir de l'applet le comportement souhaité.

Le tableau suivant décrit l'ordre des appels se produisant lors des principales situations que peut rencontrer le

navigateur : méthode appelée Situation envisagée init stop start paint destroy Lancement du navigateur sur la page contenant l'applet 1 2 3 Entrée dans la page contenant l'applet 1 2 3

Sortie de la page contenant l'applet 1 2

Restauration du navigateur (réactivation de l'icône) 1

Fermeture du navigateur 1 2

Mise en plein écran de la fenêtre 1

Mise en premier plan de la fenêtre 1(1)

(1) L'appel de paint n'a lieu que si cette mise en premier plan rend visible une partie de l'applet qui était

cachée.

1.3 Communications avec l'utilisateur

La classe JApplet hérite de la classe Container de AWT (voir 2.1.1), on peut donc mettre dans une applet tous

les composants habituels d'interface graphique (boutons, listes, zones graphiques ...).

Toutefois, pour d'évidentes raisons de sécurité, une applet ne peut établir de connexion sur le réseau avec

d'autres machines que celle qui l'héberge ni utiliser de fichier ailleurs que sur cette même machine.

L'applet s'exécute dans l'emplacement que lui a réservé le navigateur qui est vu par l'applet comme une fenêtre

l'est par une application. Chaque fois que le navigateur doit rafraîchir le contenu de cet emplacement il fait appel

à la méthode paint de l'applet. Il faudra donc parfois surcharger cette méthode : public void paint(Graphics fenetre) {

// tout ce qui doit être affiché dans la fenêtre se fait ici en utilisant les possibilités de la classe Graphics

Remarque : Lorsque l'on utilise une interface dans l'applet, la surcharge de paint est inutile puisque la méthode

paint héritée de JApplet se charge de l'affichage de l'interface.

1.4 Les autres moyens de communication

Une applet dispose de plusieurs moyens de communication avec le navigateur et avec la machine qui l'héberge.

Elle utilise en particulier pour cela des objets de classe URL permettant d'accéder à des informations (fichiers,

pages HTML, sons ...) au travers du réseau.

1.4.1 Relations de l'applet avec son environnement

Principales méthodes liées à l'environnement :

URL getCodeBase() retourne l'URL de l'applet

URL getDocumentBase() retourne l'URL du document qui contient l'applet

String getAppletInfo() retourne des informations sur l'applet (auteur ...). Cette méthode peut être redéfinie

de façon à lui faire retourner les informations souhaitées. Ecriture d'applets en Java avec JApplet M. DALMAU, IUT de BAYONNE 3

String getParameter(String) retourne la valeur du paramètre d'appel de l'applet dont le nom est désigné par

le paramètre de getParameter. Des paramètres peuvent êtres transmis à l'applet par le navigateur, ils sont

indiqués dans le texte HTML avec l'invocation de l'applet (voir 1.1). showStatus(String etat) affiche le paramètre sur la barre d'état du navigateur

AppletContext getAppletContext() retourne le contexte dans lequel se situe l'applet qui décrit

l'environnement dans lequel évolue l'applet. En général ce contexte n'est pas utilisé en tant que tel mais

sert de moyen d'accès à d'autres éléments (voir 1.4.3)

1.4.2 Images et sons

Pour les images on utilise la classe ImageIcon. Elle permet de récupérer des images que l'on peut ensuite placer

dans divers composants. Ses principales méthodes sont :

ImageIcon(String) qui construit l'image à partir d'un fichier .gif ou .jpg dont on passe le nom en paramètre.

ImageIcon(URL) qui construit l'image à partir d'un fichier .gif ou .jpg dont on passe l'URL en paramètre.

ImageIcon(Image) qui construit l'image à partir d'un objet Image. Image getImage() qui crée un objet de classe Image contenant l'image int getIconWidth() qui retourne la largeur de l'image int getIconHeight() qui retourne la hauteur de l'image

void paintIcon(Component,Graphics,int,int) qui dessine l'image dans un composant dont on précise le

contexte graphique. Les deux derniers paramètres sont les coordonnées du coin supérieur gauche où

placer l'icône dans le composant.

Remarque

: Pour les images l'URL utilisée est en général obtenue à partir de celle où se trouve l'applet. On peut

donc la créer en utilisant : new URL(getCodeBase(), chemin-et-nom_du_fichier_image);

Bien entendu il faudra prévoir un try catch pour traiter l'exception de classe MalformedURLException liée au

new.

Pour les sons on utilise la classe AudioClip. Elle permet de récupérer des sons que l'on peut ensuite jouer. Les

fichiers son utilisables sont ceux au format SUN (.au), Windows (.wav), Macintosh (.aif) et midi (.mid). Ses

principales méthodes sont :

AudioClip getAudioClip(URL) retourne le son contenu dans le fichier spécifié par l'URL donnée en

paramètre. On peut ensuite jouer ce son en utilisant sa méthode play().

AudioClip getAudioClip(URL,String) retourne le son situé dans l'URL donnée en premier paramètre et

dont le nom est spécifié en second paramètre. On peut ensuite jouer ce son en utilisant sa méthode play().

AudioClip newAudioClip(URL) retourne le son spécifié par l'URL donnée en paramètre. Cette méthode

présente l'avantage d'être statique c'est à dire de pouvoir être appelée par n'importe quel objet et pas

seulement par un objet de classe Applet ou dérivée. On l'appelle par : Applet.newAudioClip On peut

ensuite jouer ce son en utilisant sa méthode play(). play(URL) déclenche la diffusion du son spécifié par l'URL donnée en paramètre.

play(URL,String) déclenche la diffusion du son situé dans l'URL donnée en premier paramètre et dont le

nom est spécifié en second paramètre.

Remarque

: Pour les sons l'URL utilisée est en général obtenue à partir de celle où se trouve l'applet. On peut

utiliser : getAudioClip(getCodeBase(), chemin-et-nom_du_fichier_son);

1.4.3 Changement de page HTML

Une applet peut remplacer la page HTML actuellement affichée (celle donc dans laquelle elle se situe) par une

autre. Pour ce faire on utilise la méthode :

showDocument(URL lieu, String nom) affiche la page HTML située dans l'URL donnée en premier

paramètre et dont le nom est spécifié en second paramètre à la place de la page courante. Le second

paramètre peut prendre les valeurs suivantes : "_self" pour affichage dans la même fenêtre "_blank" pour affichage dans une nouvelle fenêtre sans nom "_xxx" pour affichage dans la fenêtre de nom xxx. Si elle n'existe pas, elle sera créée.

Attention, cette méthode n'appartient par à la classe JApplet mais à la classe AppletContext (voir 1.4.1). Il

faut donc l'appeler par : getAppletContext().showDocument(URL lieu, String nom). Ecriture d'applets en Java avec JApplet M. DALMAU, IUT de BAYONNE 4

2 Interfaces graphiques avec SWING

SWING offre toute une panoplie de classes pour la création d'interfaces graphiques. Chacun des objets de ces classes est susceptible de réagir à des événements provenant de la souris ou du clavier. Lorsque l'on utilise de telles classes il faut prévoir d'importer les bibliothèques javax.swing.* et javax.swing.event.* en début de programme.

2.1 Réalisation d'une interface graphique

Une applet hérite de la classe Container ce qui lui permet de se placer dans une page HTML. On placera ensuite dans cette zone des composants comme des boutons, des zones de saisie etc. Tous ces composants appartiennent à des classes héritant de la classe JComponent dont nous allons maintenant décrire les principales méthodes.

2.1.1 Les classes Component et JComponent

C'est de là que dérivent tous les composants de l'interface graphique. La classe JComponent hérite de Component et propose quelques méthodes supplémentaires. Les principales méthodes de ces classes sont les suivantes :

Celles propres à la classe Component :

boolean isShowing() indique si le composant est visible à l 'écran void setVisible(boolean) rend le composant visible on non à l'écran void requestFocus() rend le composant actif (les saisies au clavier le concernent). Il faut que le composant soit visible. boolean isEnabled() indique si le composant est sensible aux

événements

void setEnabled(boolean) permet de rendre le composant sensible ou pas aux événements Color getForeground() retourne la couleur utilisée pour dessiner et écrire dans ce composant void setForeground(Color) définit la couleur de tracé Color getBackground() retourne la couleur de fond de ce composant void setBackground(Color) définit la couleur de fond Font getFont() retourne la fonte de caractères utilisée par ce composant void setFont(Font) définit la fonte de caractères Cursor getCursor() retourne le curseur de souris utilisé sur ce composant void setCursor(Cursor) définit le curseur de souris pour ce composant int getWidth() et int getHeight() retournent la largeur et la hauteur du composant. void setSize(int , int) définit la taille du composant int getx() et int gety() retournent les coordonnées de ce composant void setLocation(int , int) définit la position du composant

Toolkit getToolkit() retourne un objet boîte à outils permettant de gérer les images, les fontes de caractères

etc. (voir 2.2) Graphics getGraphics() retourne un objet permettant de dessiner (voir 2.2.1) boolean prepareImage(Image,ImageObserver) provoque le chargement d'une image. Le premier

paramètre une image (par exemple retournée par getImage() voir 2.2.1) et en second le composant qui la

gère (en général c'est celui dont on utilise la méthode prepareImage que l'on désignera donc par this). Ce

JComboBox

JLabel

JList

JMenubar

JPopupMenu

JScrollbar

JProgressbar

JSlider

JToolBar

JToolTip

JColorChooser

JTextArea

JTextField

JTextComponent

JFileChooser

JCheckBox

JRadioButton

JToggleButton

JButton

JMenu

JRadioButtonMenuitem

JCheckBoxMenuItem

JMenuItem

JAbstractButton

JComponent

Container

Component

Ecriture d'applets en Java avec JApplet M. DALMAU, IUT de BAYONNE 5

chargement se fait en parallèle et il peut ne pas être terminé quand on veut utiliser l'image. La valeur de

retour indique si le chargement est ou non terminé. void repaint() redessine le composant

Celles propres à la classe JComponent :

void setPreferredSize(Dimension) définit la taille préférentielle du composant Dimension getPreferedSize() retourne la taille préférentielle du composant void setMinimumSize(Dimension) définit la taille minimale du composant void setMaximumSize(Dimension) définit la taille maximale du composant

void setToolTipText(String) définit le texte qui sera affiché lorsque la souris passera sur ce composant. Ce

texte disparaît lorsque la souris s'éloigne du composant ou au bout d'un certain délai.

JRootPane getRootPane() retourne l'objet de classe RootPane qui contient ce composant ou null s'il n 'y en

a pas.

Remarque

: se reporter à la documentation de Java pour en savoir plus sur les classes Dimension, Toolkit et Cursor. Les classes Font et Color seront décrites plus loin.

2.1.2 Les composants de l'interface

L'applet (héritée de JApplet) que l'on va définir contiendra en tant que propriétés les noms des composants

d'interface (boutons, zones de texte ou de dessin ...) dont on souhaite disposer.

Il conviendra ensuite de les initialiser et de définir leur disposition. Pour cela, le constructeur de la classe

d'interface devra se charger : - de créer les objets associés (new) - de les initialiser par leurs constructeurs ou par tout autre moyen disponible - de les placer - de leur associer les actions liées aux événements qu'ils peuvent recevoir Il se chargera par ailleurs de dimensionner la fenêtre et de la rendre visible à l'écran. Les principales classes de composants sont les suivants :

JButton : un bouton à cliquer avec un texte

JLabel : juste un titre (un texte non éditable) JTextField : une zone de texte éditable d'une ligne JTextArea : une zone de texte éditable multi lignes

JCheckBox : une case à cocher

JComboBox : une liste déroulante

JList : une liste dans laquelle on peut sélectionner un ou plusieurs éléments par double clic

JScrollBar : un ascenseur horizontal ou vertical

JMenubar : une barre de menu

JFileChooser : une fenêtre de dialogue permettant de choisir un fichier

JSlider : un curseur linéaire

JProgressBar : une barre indiquant la progression d'une opération

Remarque

: Cette liste n'est pas exhaustive. Il existe aussi des groupes de cases à cocher, des boîtes de dialogue,

quotesdbs_dbs17.pdfusesText_23