Apprenez à programmer en Java Par cysboy et John-John www.siteduzero.com

Apprenez à
programmer en Java
Par cysboy et John-John
www.siteduzero.com
Dernière mise à jour le 29/07/2011
Sommaire
1Sommaire ...........................................................................................................................................
4Informations sur le tutoriel ...................................................................................................................
6Apprenez à programmer en Java ........................................................................................................
6Informations sur le tutoriel .................................................................................................................................................
6Partie 1 : Bien commencer en Java ....................................................................................................
7Parlons d'Eclipse ...............................................................................................................................................................
8
Préambule ...................................................................................................................................................................................................................
8
Téléchargement ..........................................................................................................................................................................................................
9
Installation ...................................................................................................................................................................................................................
11
Présentation rapide de l'interface ..............................................................................................................................................................................
17
D'autres outils à la hauteur ........................................................................................................................................................................................
18
1. JBuilder ................................................................................................................................................................................................................
18
2. NetBeans ...............................................................................................................................................................................................................
19Votre premier programme ...............................................................................................................................................
20
Mieux connaitre son environnement Java .................................................................................................................................................................
21
Avant de commencer ................................................................................................................................................................................................
26
Votre premier programme .........................................................................................................................................................................................
29
Compilation en ligne de commande (Windows) ........................................................................................................................................................
31Les variables et les opérateurs .......................................................................................................................................
32
Les différents types de variables ...............................................................................................................................................................................
35
Les opérateurs arithmétiques ....................................................................................................................................................................................
36
Les opérateurs arithmétiques ....................................................................................................................................................................................
38
Les conversions, ou "cast" ........................................................................................................................................................................................
41
Astuce d'Eclipse ........................................................................................................................................................................................................
42Lire les entrées clavier ....................................................................................................................................................
44
Utilisation de l'objet Scanner .....................................................................................................................................................................................
45
Récupérez ce que vous tapez ...................................................................................................................................................................................
49Les conditions .................................................................................................................................................................
50
Les opérateurs logiques ............................................................................................................................................................................................
50
La structure if....else ..................................................................................................................................................................................................
53
Les conditions multiples ............................................................................................................................................................................................
56
La structure switch ....................................................................................................................................................................................................
57
La condition ternaire ..................................................................................................................................................................................................
59Les boucles .....................................................................................................................................................................
59
La boucle while .........................................................................................................................................................................................................
65
La boucle do....while .................................................................................................................................................................................................
66
La boucle for ..............................................................................................................................................................................................................
69TP n°1 : un tableau de conversion Celsius - Fahrenheit ! ..............................................................................................
69
Élaboration ................................................................................................................................................................................................................
72
Conception ................................................................................................................................................................................................................
74
Correction ..................................................................................................................................................................................................................
76Les tableaux ....................................................................................................................................................................
77
Déclarer et initialiser un tableau ................................................................................................................................................................................
78
Les tableaux multi-dimensionnels .............................................................................................................................................................................
80
Utiliser et rechercher dans un tableau ! ....................................................................................................................................................................
83
Un tableau multi-dimensionnel ..................................................................................................................................................................................
88Les méthodes de classe ..................................................................................................................................................
89
Quelques méthodes bien utiles ! ...............................................................................................................................................................................
92
Des méthodes concernant les mathématiques .........................................................................................................................................................
93
Créer et utiliser sa propre méthode ! .........................................................................................................................................................................
98
La surcharge de méthode .........................................................................................................................................................................................
99Partie 2 : Java Orienté Objet .............................................................................................................
100Les premiers pas en "Orienté Objet" .............................................................................................................................
101
Les classes .............................................................................................................................................................................................................
102
Les constructeurs ....................................................................................................................................................................................................
110
Votre objet sait parler : accesseurs et mutateurs ....................................................................................................................................................
113
Travaillez avec votre objet : les méthodes ..............................................................................................................................................................
119
Les variables de classes .........................................................................................................................................................................................
123
Astuce Eclipse .........................................................................................................................................................................................................
126
Ce qu'il faut retenir ..................................................................................................................................................................................................
127L'héritage ! .....................................................................................................................................................................
128
La notion d'héritage .................................................................................................................................................................................................
132
Construction d'un objet hérité ..................................................................................................................................................................................
135
Le polymorphisme ...................................................................................................................................................................................................
Sommaire 1/771
www.siteduzero.com
141
Ce qu'il faut retenir ..................................................................................................................................................................................................
142Apprendre à modéliser ..................................................................................................................................................
143
UML, mais qu'est-ce donc ? ....................................................................................................................................................................................
144
Modéliser un objet ...................................................................................................................................................................................................
146
Modéliser les interactions entre objets ....................................................................................................................................................................
149Les classes abstraites ...................................................................................................................................................
149
Qu'est-ce que c'est ? ...............................................................................................................................................................................................
152
Une classe Animal très abstraite .............................................................................................................................................................................
155
Étoffons notre exemple ...........................................................................................................................................................................................
161
Astuce d'Eclipse ......................................................................................................................................................................................................
164
Ce qu'il faut retenir ..................................................................................................................................................................................................
165Les interfaces ................................................................................................................................................................
165
Une petite devinette ................................................................................................................................................................................................
167
Votre première interface ..........................................................................................................................................................................................
168
Implémentation de l'interface Rintintin ....................................................................................................................................................................
171
Astuce d'Eclipse ......................................................................................................................................................................................................
176
Ce qu'il faut retenir ..................................................................................................................................................................................................
176Les exceptions ..............................................................................................................................................................
176
Premier exemple d'exception et le bloc try{....} catch{...} ........................................................................................................................................
179
Les exceptions personnalisées ...............................................................................................................................................................................
188
La gestion de plusieurs exceptions .........................................................................................................................................................................
192
Astuce d'Eclipse ......................................................................................................................................................................................................
194
Ce qu'il faut retenir ..................................................................................................................................................................................................
195Les collections d'objets .................................................................................................................................................
195
L'objet LinkedList .....................................................................................................................................................................................................
197
L'objet ArrayList .......................................................................................................................................................................................................
200
L'objet Hashtable .....................................................................................................................................................................................................
200
L'objet HashSet .......................................................................................................................................................................................................
202La généricité en Java ....................................................................................................................................................
203
Notion de base ........................................................................................................................................................................................................
206
Plus loin dans la généricité ! ...................................................................................................................................................................................
209
Généricité et collection ............................................................................................................................................................................................
212
Héritage et généricité ..............................................................................................................................................................................................
215
Ce qu'il faut retenir ..................................................................................................................................................................................................
216Java et la réflexivité .......................................................................................................................................................
216
Commençons par le commencement .....................................................................................................................................................................
218
Interroger un objet Class .........................................................................................................................................................................................
222
Instanciation dynamique .........................................................................................................................................................................................
227
Ce qu'il faut retenir ..................................................................................................................................................................................................
227Partie 3 : Java et la programmation événementielle .......................................................................
228Votre première fenêtre ..................................................................................................................................................
228
L'objet JFrame .........................................................................................................................................................................................................
231
Votre fenêtre héritée ................................................................................................................................................................................................
233
Des méthodes et encore des méthodes .................................................................................................................................................................
234
Ce que vous cache votre fenêtre ............................................................................................................................................................................
236
Ce qu'il faut retenir ..................................................................................................................................................................................................
236Une histoire de conteneur .............................................................................................................................................
236
Créez un conteneur pour votre fenêtre ...................................................................................................................................................................
239
L'objet Graphics ......................................................................................................................................................................................................
240
Plus loin dans le Graphics .......................................................................................................................................................................................
248
Le cousin caché : l'objet Graphics2D ......................................................................................................................................................................
254
Ce qu'il faut retenir ..................................................................................................................................................................................................
255Faire une animation simple ...........................................................................................................................................
255
Les déplacements : principe ...................................................................................................................................................................................
260
Continue, ne t'arrêtes pas si vite ! ...........................................................................................................................................................................
263
Attention aux bords, ne va pas te faire mal... ..........................................................................................................................................................
264
Ce qu'il faut retenir ..................................................................................................................................................................................................
265Votre premier bouton ....................................................................................................................................................
266
Utiliser la classe JButton .........................................................................................................................................................................................
269
Les layout managers ...............................................................................................................................................................................................
275
Continuons dans notre lancée ................................................................................................................................................................................
278
Une classe Bouton personnalisée ...........................................................................................................................................................................
281
Interaction avec la souris : l'interface MouseListener ..............................................................................................................................................
288
Ce qu'il faut retenir ..................................................................................................................................................................................................
289Interaction bouton(s) - application .................................................................................................................................
290
Déclencher une action : l'interface ActionListener ..................................................................................................................................................
299
Parlez avec votre classe intérieure .........................................................................................................................................................................
305
Contrôler votre animation : lancement et arrêt ........................................................................................................................................................
311
Cadeau : votre bouton personnalisé optimisé ! .......................................................................................................................................................
314
Ce qu'il faut retenir ..................................................................................................................................................................................................
314TP : une calculatrice ......................................................................................................................................................
314
Élaboration ..............................................................................................................................................................................................................
Sommaire 2/771
www.siteduzero.com
315
Conception ..............................................................................................................................................................................................................
317
Correction ................................................................................................................................................................................................................
323
Astuce Eclipse : faire un jar exécutable ..................................................................................................................................................................
331Les threads ....................................................................................................................................................................
332
Principes et bases ...................................................................................................................................................................................................
332
Une classe héritée de Thread .................................................................................................................................................................................
338
Utiliser l'interface Runnable .....................................................................................................................................................................................
344
Synchronisez vos threads .......................................................................................................................................................................................
345
Contrôlez votre animation .......................................................................................................................................................................................
348
Ce qu'il faut retenir ..................................................................................................................................................................................................
349Les listes : l'objet JComboBox ......................................................................................................................................
350
Première utilisation ..................................................................................................................................................................................................
354
L'interface ItemListener ...........................................................................................................................................................................................
359
Changer la forme de notre animation ......................................................................................................................................................................
365
Ce qu'il faut retenir ..................................................................................................................................................................................................
365Les cases à cocher : l'objet JCheckBox ........................................................................................................................
365
Premier exemple .....................................................................................................................................................................................................
368
Un pseudo-morphing pour notre animation .............................................................................................................................................................
377
Les boutons radio : l'objet JRadioButton .................................................................................................................................................................
380
Ce qu'il faut retenir ..................................................................................................................................................................................................
381Les champs de texte : l'objet JTextField .......................................................................................................................
381
Utilisation .................................................................................................................................................................................................................
383
Un objet plus restrictif : le JFormattedTextField ......................................................................................................................................................
389
Contrôlez vos données post-saisie .........................................................................................................................................................................
391
Première approche ..................................................................................................................................................................................................
394
Utiliser des expressions régulières .........................................................................................................................................................................
395
Utiliser des regex ....................................................................................................................................................................................................
396
Les regex et l'objet String ........................................................................................................................................................................................
399
Les regex et l'API regex ..........................................................................................................................................................................................
402
Contrôle du clavier : l'interface KeyListener ............................................................................................................................................................
408
Utiliser les classes anonymes .................................................................................................................................................................................
413
Ce qu'il faut retenir ..................................................................................................................................................................................................
413Les applets ....................................................................................................................................................................
413
Les applets : quésaco ? ..........................................................................................................................................................................................
416
Votre première applet ..............................................................................................................................................................................................
416
Codage de l'applet ..................................................................................................................................................................................................
418
Insertion dans une page HTML ...............................................................................................................................................................................
422
Nota Bene ...............................................................................................................................................................................................................
422
Interaction page web - applet ..................................................................................................................................................................................
425
Interaction applet - page web ..................................................................................................................................................................................
428
Applets et sécurité ...................................................................................................................................................................................................
429
Ce que vous devez retenir ......................................................................................................................................................................................
430Les boîtes de dialogue ..................................................................................................................................................
431
Les boîtes d'information ..........................................................................................................................................................................................
434
Les types de boîtes .................................................................................................................................................................................................
435
Les boîtes de confirmation ......................................................................................................................................................................................
443
Les boîtes de saisie ................................................................................................................................................................................................
446
Des boîtes de dialogue personnalisées ..................................................................................................................................................................
454
Voici des screenshots obtenus ...............................................................................................................................................................................
455
Ce qu'il faut retenir ..................................................................................................................................................................................................
456Les menus .....................................................................................................................................................................
456
La barre de menus et les éléments de menu ..........................................................................................................................................................
457
Un menu simple ......................................................................................................................................................................................................
469
Les raccourcis clavier ..............................................................................................................................................................................................
473
Faire un menu contextuel ........................................................................................................................................................................................
474
Les points importants pour notre menu contextuel .................................................................................................................................................
491
Les barres d'outils ...................................................................................................................................................................................................
503
Utiliser les actions abstraites ...................................................................................................................................................................................
513
Ce qu'il faut retenir ..................................................................................................................................................................................................
514TP : l'ardoise maZique ..................................................................................................................................................
515
Cahier des charges .................................................................................................................................................................................................
516
Prérequis .................................................................................................................................................................................................................
518
Correction ................................................................................................................................................................................................................
518
Point.java ................................................................................................................................................................................................................
519
DrawPanel.java .......................................................................................................................................................................................................
521
Fenetre.java ............................................................................................................................................................................................................
524
Améliorations possibles ..........................................................................................................................................................................................
525Les flux d'entrées / sorties (1/2) ....................................................................................................................................
525
Les flux : qu'est-ce donc ? .......................................................................................................................................................................................
527
L'objet File ...............................................................................................................................................................................................................
528
Les objets FileInputStream et FileOutputStream ....................................................................................................................................................
533
Les flux filtrés : les classes FilterInputStream et FilterOutputStream ......................................................................................................................
537
La sérialisation : les objets ObjectInputStream et ObjectOutputStream .................................................................................................................
Sommaire 3/771
www.siteduzero.com
542
Cas pratique ............................................................................................................................................................................................................
552
Ce qu'il faut retenir ..................................................................................................................................................................................................
553Les flux d'entrées / sorties (2/2) ....................................................................................................................................
554
Les objets CharArray(Writer/Reader) et String(Writer/Reader) ...............................................................................................................................
555
les classes File(Writer/Reader) et Print(Writer/Reader) ..........................................................................................................................................
557
Du renouveau chez les flux : le package java.nio ...................................................................................................................................................
560TP : Le penduZ ..............................................................................................................................................................
560
Cahier des charges .................................................................................................................................................................................................
563
Prérequis .................................................................................................................................................................................................................
563
Correction ................................................................................................................................................................................................................
565rez vos conteneurs ...................................................................................................................................................
566
Rendre vos conteneurs fractionnables ....................................................................................................................................................................
570
Ajouter des scrolls ...................................................................................................................................................................................................
575
Avoir plusieurs contenus .........................................................................................................................................................................................
581
Ce qu'il faut retenir ..................................................................................................................................................................................................
582Les arbres .....................................................................................................................................................................
582
La composition des arbres ......................................................................................................................................................................................
587
Des arbres qui vous parlent ....................................................................................................................................................................................
594
Décorez vos arbres .................................................................................................................................................................................................
602
Jouons avec nos arbres ..........................................................................................................................................................................................
617
Ce que vous devez retenir ......................................................................................................................................................................................
618Les tableaux, les vrais ...................................................................................................................................................
618
Premiers pas ...........................................................................................................................................................................................................
620
Les cellules, c'est la vie ...........................................................................................................................................................................................
629
Contrôlez l'affichage de vos cellules .......................................................................................................................................................................
635
Des tableaux très actifs ! .........................................................................................................................................................................................
642
Ajouter des lignes et des colonnes .........................................................................................................................................................................
654
Ce qu'il faut retenir ..................................................................................................................................................................................................
655Ce que vous pouvez voir en plus ..................................................................................................................................
656
D'autres conteneurs graphiques .............................................................................................................................................................................
659
D'autres objets graphiques ......................................................................................................................................................................................
665
Enjoliver vos IHM ....................................................................................................................................................................................................
668Partie 4 : Les Design patterns .........................................................................................................
669Les limites de l'héritage : le pattern strategy .................................................................................................................
671
Posons le problème ................................................................................................................................................................................................
671
Voici le tableau ........................................................................................................................................................................................................
672
Le code source de ces classes ...............................................................................................................................................................................
678
Un problème supplémentaire ..................................................................................................................................................................................
684
Une solution simple et robuste : le pattern strategy ................................................................................................................................................
696
Ce qu'il faut retenir ..................................................................................................................................................................................................
697Ajouter des fonctionnalités dynamiquement à vos objets : le pattern decorator ..........................................................
698
Posons le problème ................................................................................................................................................................................................
702
Le pattern decorator ................................................................................................................................................................................................
711
Les mystères de java.io ..........................................................................................................................................................................................
714
Ce qu'il faut retenir ..................................................................................................................................................................................................
715Soyez à l'écoute de vos objets : le pattern observer .....................................................................................................
716
Posons le problème ................................................................................................................................................................................................
719
Des objets qui parlent et qui écoutent : le pattern observer ....................................................................................................................................
726
le pattern observer : le retour ..................................................................................................................................................................................
728
Ce qu'il faut retenir ..................................................................................................................................................................................................
728Un pattern puissant : le pattern MVC ............................................................................................................................
728
Premiers pas ...........................................................................................................................................................................................................
731
Le modèle ................................................................................................................................................................................................................
734
Le contrôleur ...........................................................................................................................................................................................................
737
La vue ......................................................................................................................................................................................................................
743
MVC pour le web : le pattern M2VC ........................................................................................................................................................................
746
Ce qu'il faut retenir ..................................................................................................................................................................................................
746Un véritable assemblage : le pattern composite ...........................................................................................................
746
Creusez-vous les méninges ....................................................................................................................................................................................
747
Comment feriez-vous pour gérer ce genre de hiérarchie d'objets ? .......................................................................................................................
749
La solution : le pattern composite ...........................................................................................................................................................................
758
Le composite et Java ..............................................................................................................................................................................................
759
Ce qu'il faut retenir ..................................................................................................................................................................................................
761Partie 5 : Annexes ...........................................................................................................................
761Annexe A : liste des mots clés ......................................................................................................................................
761
Les mots clés ..........................................................................................................................................................................................................
765Annexe B : Les objets travaillant avec des flux .............................................................................................................
765
Les objets traitant des flux d'entrée (in) ..................................................................................................................................................................
766
Sous-classes de InputStream .................................................................................................................................................................................
766
Sous-classes de Reader .........................................................................................................................................................................................
767
Les objets traitant les flux de sortie (out) ................................................................................................................................................................
Informations sur le tutoriel 4/771
www.siteduzero.com
1 / 772 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !