TD Applets Java.pdf
(
65 KB
)
Pobierz
Cours Programmation C, C++, Java
Magistère de mathématiques, 2
e
année
—
Applets en JAVA
Luc Bougé, Hervé Jégou
6 décembre 2005
Dans ce TD, vous allez écrire des applets Java. La compilation du code source d’une
applet se fait comme pour un programme java “classique”, c’est-à-dire au moyen du pro-
gramme
javac,
qui génère des fichiers d’extension
.class.
N’hésitez pas, au besoin, à consulter la documentation des classes de JDK 1.4.2. Celle-ci
est disponible à l’url
http://java.sun.com/j2se/1.4.2/docs/api/index.html.
I. Ma première applet Java
Note préliminaire : cette partie reprend d’une manière plus succincte l’exercice de la semaine dernière
sur les applets. Ne traitez cette partie que si vous n’avez pas eu le temps de la traiter lors du TP
précédent.
Dans cette partie, vous allez écrire une applet
monApplet
qui affiche le message
Hello
World !
dans votre butineur Internet.
Pour écrire une applet java, vous devez d’abord créer un fichier
monApplet.html.
Ce fi-
chier sera utilisé pour décrire la page web contenant la (les) applet(s) java, et pour passer des
paramètres à cette (ces) dernière(s).
<html>
<head>
<title>Une simple applet</title>
</head>
<body>
<h1>Ma premiere applet</h1>
<applet code="monApplet.class" width="200" height="200">
</applet>
</body>
</html>
Question I.1.
Écrivez le fichier
monApplet.html.
Visualisez ce document HTML avec un bu-
tineur, par exemple
mozilla.
1
Pour que votre butineur affiche le contenu de l’applet, écrivez votre application dans un
fichier source java (extension
.java)
dans lequel vous implémenterez une classe
monApplet.
Cette classe doit hériter de la classe
Applet.
Cet héritage s’effectue de la manière suivante :
public class monApplet extends JApplet
Question I.2.
Implémentez la classe
monApplet
qui hérite de la classe
Applet.
Cette classe ne
contient qu’une seule méthode : la méthode
public void paintComponent(Graphics g).
Pour afficher votre message, utilisez la méthode
drawString
de la classe
Graphics.
La
spécification de cette méthode peut être obtenue à l’URL donnée en introduction en
cherchant la classe
Graphics
en bas à droite.
Note : incluez les classes
Graphics
et
Color
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.*;
Question I.3.
Visualisez votre applet avec le butineur. Utilisez ensuite la commande
appletviewer
pour afficher votre applet. Modifiez votre fichier HTML pour afficher
deux fois votre applet avec des dimensions différentes. Quelles différences observez-
vous ?
Dans la suite, préférez l’utilisation de la commande
appletviewer
pour visualiser vos ap-
plets :
appletviewer monApplet.html.
II. Cycle de vie
Dans cette partie, vous allez tester les différents appels aux méthodes habituellement
surchargées pour une applet. Ces méthodes sont les suivantes :
–
init,
–
start,
–
stop,
–
paint.
Pour cela, le code source de la classe
LifeCycle
vous est fourni à l’URL habituelle :
www.
irisa.fr/temics/Equipe/Jegou/Teaching/2005_mag_math_c.
import java.awt.Graphics;
import javax.swing.*;
public class LifeCycle extends JApplet {
private int nb_init = 0;
private int nb_start = 0;
private int nb_stop = 0;
private int nb_paint = 0;
public void init() {
nb_init++;
System.out.println("Init:
}
public void start() {
" + nb_init);
2
nb_start++;
System.out.println("Start:
}
public void stop() {
nb_stop++;
System.out.println("Stop:
}
" + nb_start);
" + nb_stop);
public void paint(Graphics g) {
nb_paint++;
System.out.println("Paint: " + nb_paint);
}
}
Question II.1.
Récupérez le source de l’applet
LifeCycle
et compilez-le.
Question II.2.
Lancez votre applet
LifeCycle
avec
appletviewer
et votre butineur favori. Ma-
nipulez la fenêtre correspondante (réduction, agrandissement, redimensionnement,
etc) et observez les différents appels aux méthodes.
Question II.3.
Re-définissez la fonction
paintComponent
pour qu’il affiche un petit mes-
sage. Qu’observez-vous ?
III. Convertisseur franc/euro
Dans cette partie, vous allez écrire le code
Java
d’un petit convertisseur graphique
franc/euro. À plusieurs reprises, vous allez utiliser des objets et des méthodes que vous
n’avez pas encore rencontrés jusqu’alors. Consultez la référence
http://java.sun.com/j2se/1.
4.2/docs/api/index.html
lorsque cela est nécessaire.
Pour avoir une idée du résultat attendu, vous pouvez consulter l’applet proposée sur la
page d’enseignement.
Question III.1.
Définissez une classe
Converter
qui dérive du type
JApplet
et préparez-le
pour l’ajout de deux panels :
getContentPane().setLayout(new GridLayout(2,1));
Remarque :
il est nécessaire de nommer votre nom de fichier
.java
avec la même racine
que le nom de votre classe (Converter.java).
Question III.2.
Ajoutez à votre classe deux objets de type
JPanel
: un pour le franc, un pour
l’euro. Choisissez deux couleurs de fond différentes pour chacun d’entre eux (mé-
thode
SetBackground
de
JPanel).
Ces deux panels serviront respectivement à afficher et définir les valeurs en francs et en
euros.
Question III.3.
Ajoutez une barre de défilement à chacun de ces panels (objet
JScrollBar).
3
int visible = 10;
s = new JScrollBar(Scrollbar.HORIZONTAL, 0, visible, 0, 255+visible);
Question III.4.
Modifiez la taille de vos barres de défilement en utilisant la méthode
setSize.
À ce point, les objets sont définis mais vous ne pouvez pas les utiliser pour effectuer la
conversion. Pour cela, il vous faudra intercepter les événements liés aux barres de défilement
précédemment définies.
Question III.5.
Ajoutez à votre classe la fonctionnalité d’interface
AdjustmentListener.
Inter-
ceptez alors la méthode
adjustmentValueChanged
pour qu’elle affiche
– la barre de défilement qui a été modifiée ;
– la nouvelle valeur de la barre de défilement ;
– le message passé par l’événement (obtenu par la méthode
paramString
de la classe
AdjustmentEvent).
Cet affichage s’effectuera sur la sortie d’erreur
System.err.
Question III.6.
Ajoutez des membres
euros
et
francs
à votre classe. Modifiez ces valeurs
lorsque les barres de défilement respectives sont modifiées. Pour vérifier que les va-
leurs sont correctement mises à jour, affichez-les dans un premier temps sur la sortie
d’erreur.
Question III.7.
Définissez le taux de conversion
taux
en tant que variable statique. Modifiez
la valeur en francs lorsque la valeur en euros change et réciproquement.
Question III.8.
Synchronisez maintenant les barres de défilement : lorsqu’une des barres
de défilement bouge, l’autre doit également bouger. Les valeurs en francs et en euros
doivent également être ajustées en conséquence.
Note : selon la méthode choisie pour la synchronisation, il est possible que le mouve-
ment de vos barres ne soit pas fluide. Remédiez au problème si besoin.
À ce point de l’énoncé, vous n’avez toujours pas d’affichage en chiffres des valeurs d’eu-
ros et de francs. La question suivante permettra de donner à votre applet cette fonctionnalité.
Répondez à l’une
ou
l’autre des ces questions. Bien entendu, la seconde de ces questions
est plus difficile mais offrira à l’utilisateur la possibilité de rentrer une valeur chiffrée exacte.
Question III.9.
Utilisez des objets de type pour affichez les valeurs en francs et en euros.
Bonus :
utilisez un objet qui permet également la saisie directe d’une valeur chiffrée.
Question III.10.
Transformez maintenant votre applet en frame (sauvegardez la version ap-
plet de votre programme). Quelles sont les opérations requises pour transformer votre
applet avec un minimum de modifications ?
Question III.11.
Enrichissez l’aspect de votre convertisseur en modifiant les couleurs, en
ajoutant des bordures, etc.
IV. Programme Choice
Question IV.1.
Reproduisez le comportement de l’applet
Choice
fournie à l’URL
http://
www.irisa.fr/ temics/ Equipe/ Jegou/ Teaching/ 2005_mag_math_c.
4
Plik z chomika:
musli_com
Inne pliki z tego folderu:
Big Java Late Objects [Horstmann 2012-02-01].pdf
(167477 KB)
Data Structures_ Abstraction and Design using Java (2nd ed.) [Koffman & Wolfgang 2010-01-26].pdf
(190252 KB)
Big Java Early Objects (5th ed.) [Horstmann 2013-01-04].pdf
(145099 KB)
Data Abstraction and Problem Solving with Java_ Walls and Mirrors (3rd ed.) [Prichard & Carrano 2010-10-30] (photocopier quality).pdf
(110506 KB)
A Little Java, a Few Patterns [Felleisen & Friedman 1997-12-19].pdf
(14847 KB)
Inne foldery tego chomika:
3D Design - Programming
ActionScript
Actionscript - Flash - Flex - Air
Ada
ADO
Zgłoś jeśli
naruszono regulamin