Apprenez à
programmer en Java
Par cysboy
www.openclassrooms.com
Licence Creative Commons 6 2.0
Dernière mise à jour le 8/01/2013
Sommaire
2Sommaire ...........................................................................................................................................
4Partager ..............................................................................................................................................
6 Apprenez à programmer en Java .......................................................................................................
7Partie 1 : Bien commencer en Java ....................................................................................................
8Installer les outils de développement ................................................................................................................................
8Installer les outils nécessaires ....................................................................................................................................................................................
8JRE ou JDK .................................................................................................................................................................................................................
9Eclipse IDE ..................................................................................................................................................................................................................
10Présentation rapide de l'interface ..............................................................................................................................................................................
15Votre premier programme .........................................................................................................................................................................................
17Hello World ................................................................................................................................................................................................................
19Compilation en ligne de commande (Windows) ........................................................................................................................................................
22En résumé .................................................................................................................................................................................................................
23Les variables et les opérateurs .......................................................................................................................................
23Petit rappel ................................................................................................................................................................................................................
24Les différents types de variables ...............................................................................................................................................................................
28Les opérateurs arithmétiques ....................................................................................................................................................................................
31Les conversions, ou « cast » .....................................................................................................................................................................................
33Depuis Java 7 : le formatage des nombres ...............................................................................................................................................................
35Lire les entrées clavier ....................................................................................................................................................
35La classe Scanner .....................................................................................................................................................................................................
36Récupérer ce que vous tapez ...................................................................................................................................................................................
38En résumé .................................................................................................................................................................................................................
38Les conditions .................................................................................................................................................................
39La structure if… else .................................................................................................................................................................................................
41Les conditions multiples ............................................................................................................................................................................................
42La structure switch ....................................................................................................................................................................................................
43La condition ternaire ..................................................................................................................................................................................................
44Les boucles .....................................................................................................................................................................
45La boucle while ..........................................................................................................................................................................................................
48La boucle do… while .................................................................................................................................................................................................
49La boucle for ..............................................................................................................................................................................................................
52TP : conversion Celsius - Fahrenheit ..............................................................................................................................
52Élaboration ................................................................................................................................................................................................................
53Correction ..................................................................................................................................................................................................................
56Les tableaux ....................................................................................................................................................................
56Tableau à une dimension ..........................................................................................................................................................................................
56Les tableaux multidimensionnels ..............................................................................................................................................................................
57Utiliser et rechercher dans un tableau ......................................................................................................................................................................
62Les méthodes de classe .................................................................................................................................................
63Quelques méthodes utiles .........................................................................................................................................................................................
63Des méthodes concernant les chaînes de caractères ..............................................................................................................................................
65Créer sa propre méthode ..........................................................................................................................................................................................
68La surcharge de méthode .........................................................................................................................................................................................
69En résumé .................................................................................................................................................................................................................
69Partie 2 : Java Orienté Objet .............................................................................................................
70Votre première classe .....................................................................................................................................................
70Structure de base ......................................................................................................................................................................................................
71Les constructeurs ......................................................................................................................................................................................................
75Accesseurs et mutateurs ...........................................................................................................................................................................................
81Les variables de classes ...........................................................................................................................................................................................
82Le principe d'encapsulation .......................................................................................................................................................................................
83L'héritage .........................................................................................................................................................................
84Le principe de l'héritage ............................................................................................................................................................................................
88Le polymorphisme .....................................................................................................................................................................................................
93Depuis Java 7 : la classe Objects .............................................................................................................................................................................
95Modéliser ses objets grâce à UML ..................................................................................................................................
95Présentation d'UML ...................................................................................................................................................................................................
96Modéliser ses objets ..................................................................................................................................................................................................
97Modéliser les liens entre les objets ...........................................................................................................................................................................
101Les packages ................................................................................................................................................................
101Création d'un package ............................................................................................................................................................................................
101Droits d'accès entre les packages ...........................................................................................................................................................................
104Les classes abstraites et les interfaces ........................................................................................................................
104Les classes abstraites .............................................................................................................................................................................................
105Une classe Animal très abstraite .............................................................................................................................................................................
107Étoffons notre exemple ...........................................................................................................................................................................................
111Les interfaces ..........................................................................................................................................................................................................
112Votre première interface ..........................................................................................................................................................................................
114Implémentation de l'interface Rintintin .....................................................................................................................................................................
115Le pattern strategy ...................................................................................................................................................................................................
116Posons le problème .................................................................................................................................................................................................
2/535
www.openclassrooms.com
117Le code source de ces classes ...............................................................................................................................................................................
122Un problème supplémentaire ..................................................................................................................................................................................
126Une solution simple et robuste : le « pattern strategy » ..........................................................................................................................................
134Les exceptions ..............................................................................................................................................................
134Le bloc try{...} catch{...} ...........................................................................................................................................................................................
136Les exceptions personnalisées ...............................................................................................................................................................................
139La gestion de plusieurs exceptions .........................................................................................................................................................................
140Depuis Java 7 : le multi-catch .................................................................................................................................................................................
141Les énumérations ..........................................................................................................................................................
142Avant les énumérations ...........................................................................................................................................................................................
142Une solution : les enum ...........................................................................................................................................................................................
145Les collections d'objets .................................................................................................................................................
146Les différents types de collections ..........................................................................................................................................................................
146Les objets List .........................................................................................................................................................................................................
146L'objet LinkedList .....................................................................................................................................................................................................
148L'objet ArrayList .......................................................................................................................................................................................................
149Les objets Map ........................................................................................................................................................................................................
149L'objet Hashtable .....................................................................................................................................................................................................
150L'objet HashMap .....................................................................................................................................................................................................
150Les objets Set .........................................................................................................................................................................................................
150L'objet HashSet .......................................................................................................................................................................................................
151La généricité en Java ....................................................................................................................................................
152Principe de base .....................................................................................................................................................................................................
155Plus loin dans la généricité ! ...................................................................................................................................................................................
156Généricité et collections ..........................................................................................................................................................................................
157Héritage et généricité ..............................................................................................................................................................................................
161Les flux d'entrée/sortie ..................................................................................................................................................
162Utilisation de java.io ................................................................................................................................................................................................
162L'objet File ...............................................................................................................................................................................................................
163Les objets FileInputStream et FileOutputStream ....................................................................................................................................................
167Les objets FilterInputStream et FilterOutputStream ................................................................................................................................................
171Les objets ObjectInputStream et ObjectOutputStream ...........................................................................................................................................
175Les objets CharArray(Writer/Reader) et String(Writer/Reader) ...............................................................................................................................
177Les classes File(Writer/Reader) et Print(Writer/Reader) .........................................................................................................................................
177Utilisation de java.nio ..............................................................................................................................................................................................
181Depuis Java 7 : nio II ...............................................................................................................................................................................................
184Le pattern decorator ................................................................................................................................................................................................
188Java et la réflexivité .......................................................................................................................................................
189L'objet Class ............................................................................................................................................................................................................
193Instanciation dynamique .........................................................................................................................................................................................
196Partie 3 : Java et la programmation événementielle .......................................................................
197Notre première fenêtre ..................................................................................................................................................
197L'objet JFrame .........................................................................................................................................................................................................
201L'objet JPanel ..........................................................................................................................................................................................................
202Les objets Graphics et Graphics2D ........................................................................................................................................................................
202L'objet Graphics ......................................................................................................................................................................................................
210L'objet Graphics2D ..................................................................................................................................................................................................
213Le fil rouge : une animation ...........................................................................................................................................
214Création de l'animation ............................................................................................................................................................................................
217Améliorations ..........................................................................................................................................................................................................
223Positionner des boutons ................................................................................................................................................
223Utiliser la classe JButton .........................................................................................................................................................................................
224Positionner son composant : les layout managers ..................................................................................................................................................
238Interagir avec des boutons ............................................................................................................................................
238Une classe Bouton personnalisée ...........................................................................................................................................................................
240Interactions avec la souris : l'interface MouseListener ............................................................................................................................................
245Interagir avec son bouton ........................................................................................................................................................................................
245Déclencher une action : l'interface ActionListener ...................................................................................................................................................
251Parler avec sa classe intérieure ..............................................................................................................................................................................
255Les classes anonymes ............................................................................................................................................................................................
257Contrôler son animation : lancement et arrêt ..........................................................................................................................................................
261Être à l'écoute de ses objets : le design pattern Observer ......................................................................................................................................
261Posons le problème ................................................................................................................................................................................................
263Des objets qui parlent et qui écoutent : le pattern observer ....................................................................................................................................
267Le pattern observer : le retour .................................................................................................................................................................................
268Cadeau : un bouton personnalisé optimisé .............................................................................................................................................................
270TP : une calculatrice ......................................................................................................................................................
271Élaboration ..............................................................................................................................................................................................................
271Conception ..............................................................................................................................................................................................................
272Correction ................................................................................................................................................................................................................
275Générer un .jar exécutable ......................................................................................................................................................................................
280Exécuter des tâches simultanément .............................................................................................................................
281Une classe héritée de Thread .................................................................................................................................................................................
285Utiliser l'interface Runnable .....................................................................................................................................................................................
289Synchroniser ses threads ........................................................................................................................................................................................
289Contrôler son animation ..........................................................................................................................................................................................
290Depuis Java 7 : le pattern Fork/Join ........................................................................................................................................................................
300Les champs de formulaire .............................................................................................................................................
300Les listes : l'objet JComboBox ................................................................................................................................................................................
300Première utilisation ..................................................................................................................................................................................................
Sommaire 3/535
www.openclassrooms.com
301L'interface ItemListener ...........................................................................................................................................................................................
303Changer la forme de notre animation ......................................................................................................................................................................
308Les cases à cocher : l'objet JCheckBox ..................................................................................................................................................................
308Première utilisation ..................................................................................................................................................................................................
309Un pseudomorphing pour notre animation ..............................................................................................................................................................
314Le petit cousin : l'objet JRadioButton ......................................................................................................................................................................
316Les champs de texte : l'objet JTextField ..................................................................................................................................................................
316Première utilisation ..................................................................................................................................................................................................
317Un objet plus restrictif : le JFormattedTextField ......................................................................................................................................................
320Contrôle du clavier : l'interface KeyListener ............................................................................................................................................................
323Les menus et boîtes de dialogue ..................................................................................................................................
324Les boîtes de dialogue ............................................................................................................................................................................................
326Les boîtes de confirmation ......................................................................................................................................................................................
328Les boîtes de saisie ................................................................................................................................................................................................
331Des boîtes de dialogue personnalisées ..................................................................................................................................................................
337Les menus ...............................................................................................................................................................................................................
337Faire son premier menu ..........................................................................................................................................................................................
345Les raccourcis clavier ..............................................................................................................................................................................................
348Faire un menu contextuel ........................................................................................................................................................................................
355Les barres d'outils ...................................................................................................................................................................................................
359Utiliser les actions abstraites ...................................................................................................................................................................................
360TP : l'ardoise magique ...................................................................................................................................................
361Cahier des charges .................................................................................................................................................................................................
362Prérequis .................................................................................................................................................................................................................
362Correction ................................................................................................................................................................................................................
367Améliorations possibles ..........................................................................................................................................................................................
367Conteneurs, sliders et barres de progression ...............................................................................................................
368Autres conteneurs ...................................................................................................................................................................................................
368L'objet JSplitPane ....................................................................................................................................................................................................
371L'objet JScrollPane ..................................................................................................................................................................................................
373L'objet JTabbedPane ...............................................................................................................................................................................................
377L'objet JDesktopPane combiné à des JInternalFrame ............................................................................................................................................
378L'objet JWindow ......................................................................................................................................................................................................
379Le JEditorPane ........................................................................................................................................................................................................
380Le JSlider ................................................................................................................................................................................................................
381La JProgressBar ......................................................................................................................................................................................................
382Enjoliver vos IHM ....................................................................................................................................................................................................
384Les arbres et leur structure ...........................................................................................................................................
385La composition des arbres ......................................................................................................................................................................................
389Des arbres qui vous parlent ....................................................................................................................................................................................
392Décorez vos arbres .................................................................................................................................................................................................
397Modifier le contenu de nos arbres ...........................................................................................................................................................................
403Les interfaces de tableaux ............................................................................................................................................
404Premiers pas ...........................................................................................................................................................................................................
405Gestion de l'affichage ..............................................................................................................................................................................................
405Les cellules .............................................................................................................................................................................................................
411Contrôlez l'affichage ................................................................................................................................................................................................
415Interaction avec l'objet JTable .................................................................................................................................................................................
421Ajouter des lignes et des colonnes .........................................................................................................................................................................
423TP : le pendu .................................................................................................................................................................
424Cahier des charges .................................................................................................................................................................................................
425Prérequis .................................................................................................................................................................................................................
426Correction ................................................................................................................................................................................................................
427Mieux structurer son code : le pattern MVC ..................................................................................................................
428Premiers pas ...........................................................................................................................................................................................................
429Le modèle ...............................................................................................................................................................................................................
432Le contrôleur ...........................................................................................................................................................................................................
434La vue ......................................................................................................................................................................................................................
438Le Drag'n Drop ..............................................................................................................................................................
438Présentation ............................................................................................................................................................................................................
441Fonctionnement ......................................................................................................................................................................................................
444Créer son propre TransferHandler ..........................................................................................................................................................................
448Activer le drop sur un JTree ....................................................................................................................................................................................
453Effet de déplacement ..............................................................................................................................................................................................
458Mieux gérer les interactions avec les composants .......................................................................................................
458Présentation des protagonistes ...............................................................................................................................................................................
459Utiliser l'EDT ............................................................................................................................................................................................................
461La classe SwingWorker<T, V> ................................................................................................................................................................................
466Partie 4 : Interactions avec les bases de données ..........................................................................
466JDBC : la porte d'accès aux bases de données ...........................................................................................................
466Rappels sur les bases de données .........................................................................................................................................................................
467Quelle base de données utiliser ..............................................................................................................................................................................
467Installation de PostgreSQL ......................................................................................................................................................................................
470Préparer la base de données ..................................................................................................................................................................................
471Créer la base de données .......................................................................................................................................................................................
473Créer les tables .......................................................................................................................................................................................................
478Se connecter à la base de données ........................................................................................................................................................................
480Connexion ...............................................................................................................................................................................................................
483Fouiller dans sa base de données ................................................................................................................................
483Le couple Statement - ResultSet ............................................................................................................................................................................
Sommaire 4/535
www.openclassrooms.com
486Entraînons-nous ......................................................................................................................................................................................................
490Statement ................................................................................................................................................................................................................
491Les requêtes préparées ..........................................................................................................................................................................................
493ResultSet : le retour .................................................................................................................................................................................................
496Modifier des données ..............................................................................................................................................................................................
497Statement, toujours plus fort ...................................................................................................................................................................................
499Gérer les transactions manuellement .....................................................................................................................................................................
502Limiter le nombre de connexions ..................................................................................................................................
502Pourquoi ne se connecter qu'une seule fois ? ........................................................................................................................................................
502Le pattern singleton .................................................................................................................................................................................................
504Le singleton dans tous ses états .............................................................................................................................................................................
506TP : un testeur de requêtes ...........................................................................................................................................
507Cahier des charges .................................................................................................................................................................................................
507Quelques captures d'écran .....................................................................................................................................................................................
508Correction ................................................................................................................................................................................................................
512Lier ses tables avec des objets Java : le pattern DAO .................................................................................................
513Avant toute chose ....................................................................................................................................................................................................
517Le pattern DAO .......................................................................................................................................................................................................
517Contexte ..................................................................................................................................................................................................................
517Le pattern DAO .......................................................................................................................................................................................................
523Premier test .............................................................................................................................................................................................................
524Le pattern factory ....................................................................................................................................................................................................
526Fabriquer vos DAO ..................................................................................................................................................................................................
528De l'usine à la multinationale ...................................................................................................................................................................................
Partager 5/535
www.openclassrooms.com
1 / 534 100%
Study collections
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 !