Académique Documents
Professionnel Documents
Culture Documents
U
Anne Tasso des qui n bes
Maître de conférences à l'université de Marne-la-Vallée, Anne Tasso enseigne le langage de programmation Java, Anne Tasso mil a dé t-se
en formation initiale et continue, au sein du département SRC (Services et réseaux de communication) de l'IUT lier jà lle
s d con r
5ee édition
de Marne-la-Vallée. Elle est également l'auteur des ouvrages Initiation à JSP et Apprendre à programmer en 'ét qui
LeLelivre
ActionScript 3, tous deux parus aux éditions Eyrolles. udi s
ant
de
Java
s!
livre de
Apprendre Java en douceur
Vous avez décidé de vous initier à la programmation et souhaitez opter pour un langage largement utilisé dans le monde profes-
sionnel ? Java se révèle un choix idéal comme vous le découvrirez dans ce livre conçu pour les vrais débutants en programmation.
Vous apprendrez d’abord, à travers des exemples simples en Java, à maîtriser les notions communes à tous les langages : variables,
types de données, boucles et instructions conditionnelles, etc. Vous franchirez un nouveau pas en découvrant par la pratique les
langage
premier
concepts de la programmation orientée objet (classes, objets, héritage), puis le fonctionnement des librairies graphiques AWT et
Swing (fenêtres, gestion de la souris, tracé de graphiques). Vous découvrirez enfin comment réaliser des applications Java dotées
d'interfaces graphiques conviviales grâce au logiciel libre NetBeans.
Chaque chapitre est accompagné de deux types de travaux pratiques : des exercices, dont le corrigé est fourni sur le CD-Rom
d’accompagnement, et un projet développé au fil de l’ouvrage, qui vous montrera comment combiner toutes les techniques de
programmation étudiées pour construire une véritable application Java.
Java
premier langage
À qui s’adresse ce livre ?
• Aux étudiants de 1er cycle universitaire (IUT, Deug...) ou d’écoles d’ingénieurs.
• Aux vrais débutants en programmation : passionnés d’informatique et programmeurs autodidactes, concepteurs de sites Web
souhaitant aller au-delà de HTML et JavaScript, etc.
• Aux enseignants et formateurs à la recherche d’une méthode pédagogique et d’un support de cours structuré pour enseigner Java à
des débutants.
Au sommaire
premier langage
Avec 80 exercices corrigés
Introduction. Qu’est-ce qu’un programme ? • Construire un algorithme • Premier exemple de programme en Java • Exécution du pro- Avec 80 exercices corrigés
5 édition
gramme • Présentation du projet détaillé dans l’ouvrage (application de gestion de compte bancaire). Techniques de base de la pro-
grammation. Stocker une information • Types de données • Variables et opérateur d’affection • Expressions et opérateurs arithmé- 5ee édition
tiques • Les entrées-sorties, la classe Scanner • Affichage et saisie des données • Instructions if-else et switch • Boucles do…while, while
Le livre
de
et for. Initiation à la programmation orientée objet. De l’algorithme paramétré à l’écriture de fonctions • Fonctions Java prédéfi-
nies • Construire ses propres fonctions • Variables locales et variables de classe • Passage de paramètres par valeur • Classes et objets
• Exemple : la classe String et ses méthodes • Construire et utiliser ses propres classes • Les données de type static • Passage de para-
782212 123760
offert avec ce livre :
clavier et à la souris • Créer une interface graphique avec NetBeans • Gestion de bulletins de notes • Un éditeur pour dessiner. Annexe.
Guide d’utilisation du CD-Rom • Installation d'un environnement de développement sous Windows, Mac et Linux • Utilisation des outils · J2SE
avec JDK6 et
de développement. NetBeans 6.1 :
Sur le CD-Rom offert avec ce livre tous les outils pour créer des applications
A. Tasso
• J2SE avec JDK6 et NetBeans 6.1 : tous les outils pour créer des applications Java avec une interface graphique conviviale, Java avec une interface graphique
sous Windows, Linux et Mac conviviale, sous Windows, Linux et Mac
· Corrigé du projet
9
• Corrigés du projet et des exercices
• Code source de tous les programmes et des exercices
Plate-forme requise : PC avec processeur Pentium 233 MHz ou plus • Windows Vista, XP, 2000 ou NT • Linux Red Hat 2.1 ou plus © Groupe Eyrolles 2008, · Code source de tous
ISBN : 978-2-212-12376-0
• Mac OS X 10.5 ou 10.4 • 128 Mo RAM recommandés • 400 Mo d'espace disque pour l'installation minimale. 29,90 € les exemples de l'ouvrage
Sur le site www.editions-eyrolles.com
• Dialoguez avec l'auteur
partie n° 3 Outils et techniques orientés objet
Grâce au panneau Inspector, nous pourrons nommer les composants et modifier leur hiérarchie
s’ils contiennent d’autres composants.
Vous vous familiariserez rapidement avec l’utilisation de ces panneaux et en cernerez l’impor-
tance dès la mise en place du premier exemple présenté à la section suivante, « Une première
application avec NetBeans ».
● une zone (voir figure 12-13-) pour afficher le périmètre du cercle après validation. La
valeur sera modifiée à chaque fois que l’utilisateur saisira une nouvelle valeur.
Figure 12-14 Les champs de texte sont des composants de type Label.
Observez que pour chaque champ de texte ajouté, le nom du composant ajouté s’affiche dans
le panneau Inspector (voir figure 12-14-).
Le nom des objets placés dans la fenêtre comporte, par défaut, le nom du composant qu’il
représente suivi d’un chiffre qui correspond à son numéro d’ordre de création. Ce nom est
porté deux fois par le composant, dans le panneau Inspector et dans le panneau Design :
● Dans le panneau Inspector, ce nom représente le nom de l’objet utilisé par le code source
autogénéré. Pour rendre ce code plus lisible et faciliter la programmation ultérieure, vous
devez modifier ces noms.
Lorsque vous modifiez le nom d’un composant par l’intermédiaire du panneau Inspector, Net-
Beans se charge alors de modifier le nom de toutes les occurrences de ce composant qui pour-
raient se trouver dans le code source associé.
● Dans le panneau Design, ce nom représente le texte affiché par le composant lors de l’exé-
cution du programme (voir figure 12-15-). Vous devez remplacer ces noms par du texte
correspondant à ce que vous souhaitez obtenir comme information. Ainsi, tels qu’ils sont
situés dans le panneau, le texte jLabel1 doit être remplacé par Rayon : , jLabel2 par
Périmètre : et jLabel3 par 0.
Le champ de saisie
Les champs de saisie sont représentés, dans le panneau Palette, par le composant Text Field
(JTextField). Le champ de saisie est placé dans la fenêtre de l’application, juste après le
champ de texte rayonLabel, comme le montre la figure 12-13-.
Dans le panneau Inspector, nous nommons les champs de saisie jTextField1 et saisie
Rayon et indiquons comme valeur d’affichage par défaut, la valeur 0.
Les composants JTextField et JLabel ont par défaut un alignement horizontal à gauche
(texte ferré à gauche). Pour modifier cette propriété, il suffit d’ouvrir le panneau Properties en
cliquant droit sur le composant à modifier et en sélectionnant l’item Properties du menu
contextuel qui apparaît alors.
Dans le panneau Properties (voir figure 12-16), sélectionnez la propriété horizontalAlignment
sur la colonne de gauche et choisissez la valeur Right dans la menu qui apparaît lorsque l’on
clique sur la colonne de droite.
Le bouton
Pour finir, plaçons le bouton de validation dans la fenêtre d’application, comme le montre la
figure 12-13- .
Les boutons sont représentés, dans le panneau Palette, par le composant Button (JButton).
Dans le panneau Inspector, nous nommons le bouton jButton1, calculerBtn et plaçons
comme texte d’affichage Calculer.
Ainsi, lorsque tous les composants sont placés dans la fenêtre d’application, nous obtenons le
panneau Inspector présenté en figure 12-17.
Le menu contextuel apparaissant suite au clic droit, sur un ou plusieurs composants de l’appli-
cation, permet de modifier la taille et la position des éléments les uns par rapport aux autres ou
par rapport au fond de la fenêtre (item Anchor).
Enfin, pour modifier la taille de la fenêtre de votre application, placez le curseur de la souris en
bas à droite de la zone grise représentant le fond de votre interface. Lorsque apparaît un
curseur en forme d’angle droit, vous pouvez procéder de deux façons différentes :
1. Cliquer et tirer l’angle pour augmenter ou diminuer la taille de la fenêtre.
2. Double-cliquer sur l’angle. Une boîte de dialogue apparaît alors, affichant la largeur et la
hauteur de la fenêtre de l’application. Vous pouvez modifier directement ces valeurs.
La fonction main() utilise deux outils dont nous n’avons pas encore parlé : invoke-
Later() et Runnable. Ces deux outils font référence à la notion de thread que l’on
traduit en français par « unités de traitement ».
Un thread est une portion de code, un traitement spécifique capable de s’exécuter en même
temps que d’autres traitements.
Pour exécuter les différents thread, la librairie graphique Swing utilise une pile d’événe-
ments afin de répartir dans le temps leur traitement. La librairie Swing propose également
plusieurs méthodes pour traiter cette pile. Ici, par exemple, la méthode utilisée est
invokeLater(), laquelle permet de traiter les événements de façon asynchrone pour
éviter de bloquer les éventuels autres threads en attente.
La méthode invokeLater() demande, en paramètre, la portion de code à traiter de
façon asynchrone. C’est ce qui est réalisé par la suite d’instructions :
new Runnable() {
public void run() {
new CercleSwing().setVisible(true);
}
}
Runnable est une classe abstraite, une interface dont le mode de comportement défini
par le programmeur doit être écrit au sein de la méthode run().
Les notions de classe abstraite et d’interface sont décrites au chapitre 9, « Dessiner des
objets », section « Les événements ».
Sous NetBeans, l’ajout d’un gestionnaire sur un composant graphique s’effectue comme suit
(voir figure 12-20).
1. Dans le panneau Design, sélectionnez le bouton Calculer.
2. Cliquez droit sur le composant.
3. Sélectionnez l’item Events, puis Action, puis actionPerformed, dans l’enchaînement de
menus et sous-menus qui apparaissent.
Les instructions qui réalisent le calcul du périmètre d’un cercle sont à insérer dans la méthode
calculerBtnActionPerformed() créée par NetBeans. Ces instructions sont au nombre
de trois :
Récupérer la valeur du rayon saisie dans le champ de saisie saisieRayon.
Calculer le périmètre.
Afficher le périmètre dans le champ de texte resultatLabel.
Ces instructions s’écrivent en Java :
// Récupérer la valeur du rayon saisie dans le champ de saisie
// saisieRayon
double rayon = Double.parseDouble(saisieRayon.getText());
// Calculer le périmètre
double perimetre = 2* Math.PI* rayon;
// Afficher le périmètre dans le champ de texte resultatLabel
resultatLabel.setText(Double.toString(perimetre));
Les deux principales méthodes à retenir sont : getText() et setText().
La méthode getText() retourne, sous forme de chaîne de caractères, la valeur saisie par
l’utilisateur dans le champ de saisie sur lequel est appliquée la méthode. Ici, il s’agit du champ
saisieRayon. La valeur retournée par la méthode est de type String alors que le rayon est
une valeur numérique de type double. L’utilisation de la méthode parseDouble() permet
la transformation d’une chaîne de caractères en valeur de type double.
À l’inverse, la méthode setText() affiche le texte placé en paramètre dans le champ de texte
sur lequel est appliqué la méthode. Ici, il s’agit du texte correspondant à la valeur calculée du
périmètre. Cette valeur est numérique, la méthode toString() transforme cette valeur en
une chaîne de caractères.
Les trois lignes de code présentées ci-avant sont à insérer dans la fonction calculerBtn
ActionPerformed() comme suit :
private void calculerBtnActionPerformed(java.awt.event.ActionEvent
evt) {
// Récupérer la valeur du rayon saisie dans le champ de saisie
// saisieRayon
double rayon = Double.parseDouble(saisieRayon.getText());
// Calculer le périmètre
double perimetre = 2 * Math.PI * rayon;
// Afficher le périmètre dans le champ de texte resultatLabel
resultatLabel.setText(Double.toString(perimetre));
}
Exécuter l’application
Pour voir enfin s’afficher l’application CercleSwing, vous devez lancer l’exécution du
programme. Pour cela, cliquez sur le petit triangle vert situé au centre de la barre d’outils de
NetBeans ou appuyez sur la touche F6 de votre clavier.
Si aucune erreur de compilation ou d’exécution n’est détectée, vous devez voir apparaître la
fenêtre avec un rayon et un périmètre égaux à 0 (voir figure 12-21-). Après saisie d’une
valeur pour le rayon et validation en cliquant sur le bouton Calculer, le résultat s’affiche à la
suite du label « Périmètre : » (voir figure 12-21-).