Java et Eclipse
Développez une application avec Java et Eclipse
2e édition
Avant-propos
1. Introduction11
2. Contenu de l'ouvrage12
Chapitre 1
Environnement de développement
1. Installation du JDK Java15
2. Installation d'Eclipse Oxygen18
3. Découverte de l'IDE21
3.1 Perspective - Vue22
3.2 Éditeur de code25
3.3 Débogueur27
Chapitre 2
Prise en main d'Eclipse
1. De l'importance de s'organiser33
2. Premier projet34
3. Premier package39
4. Première classe40
5. Première fenêtre48
5.1 Création de la fenêtre49
5.2 Ajout de composants54
6. Action d'un bouton57
7. Création d'un menu60
8. Premier exécutable65
Chapitre 3
Concepts de base de la POO
1. Introduction69
2. Objet70
3. Classe71
4. Attribut73
5. Type de données74
6. Méthode76
7. Accessibilité79
8. Encapsulation83
9. Constructeur84
10. Héritage85
11. Interfaces91
12. Polymorphisme93
12.1 Par surcharge94
12.2 Par redéfinition95
12.3 Par interface97
13. Principes SOLID99
13.1 Single Responsibility99
13.2 Open/Closed99
13.3 Liskov Substitution100
13.4 Interface Segregation101
13.5 Dependency Inversion102
14. Quelques autres principes utiles103
14.1 DRY (Don't Repeat Yourself)103
14.2 KISS (Keep It Simple, Stupid)103
14.3 YAGNI (You Aren't Gonna Need It)104
Chapitre 4
La boite à outils de Java
1. Génériques105
2. Collections106
3. Gestion des erreurs109
4. Boxing/Unboxing111
5. Enums113
6. Gestion du temps et des dates114
7. Événements123
8. Lambdas125
9. Streams127
10. Optional129
11. Classes graphiques130
11.1 Boutons130
11.1.1 JButton130
11.1.2 JCheckBox131
11.1.3 JRadioButton131
11.1.4 JToggleButton132
11.2 Saisies textuelles132
11.2.1 JTextField132
11.2.2 JPasswordField133
11.2.3 JFormattedTextField133
11.2.4 JTextArea133
11.2.5 JEditorPane et JTextPane134
11.3 Saisie de nombres134
11.3.1 JSpinner134
11.3.2 JSlider135
11.4 Affichage d'informations135
11.4.1 JLabel135
11.4.2 JProgressBar136
11.4.3 JSeparator137
11.5 Affichage et sélection d'objets138
11.5.1 JComboBox138
11.5.2 JList139
11.6 Données structurées140
11.6.1 JTree141
11.6.2 JTable141
11.7 Conteneurs141
11.7.1 JPanel142
11.7.2 JScrollPane142
11.7.3 JSplitPane143
11.7.4 JTabbedPane144
11.7.5 JToolbar144
11.8 Fenêtres145
11.8.1 JFrame145
11.8.2 JDialog146
11.8.3 JOptionPane147
11.8.4 JFileChooser149
11.8.5 JColorChooser150
11.9 Menus150
11.9.1 JMenuBar151
11.9.2 JMenu152
11.9.3 JMenuItem153
11.9.4 JPopupMenu154
11.10 Layouts154
11.10.1 FlowLayout154
11.10.2 BoxLayout155
11.10.3 BorderLayout155
11.10.4 GridLayout156
11.10.5 GridBagLayout157
11.11 Look and Feel157
12. Threads159
13. Annotations166
14. Autres notions167
Chapitre 5
La boîte à outils d'Eclipse
1. Propriétés du projet169
2. Tests unitaires172
3. Internationalisation181
3.1 Traduction des chaînes de caractères181
3.2 Tests des traductions186
4. Ajout de plug-ins192
5. Ajout sélectif de librairies195
6. Gérer les révisions d'un projet196
Chapitre 6
Présentation du projet
1. Application Oxygen203
2. Cahier des charges204
3. Persistance des données205
4. Utilisation des patrons de conception206
Chapitre 7
Analyse
1. Démarche207
2. Ajout du plug-in UML dans Eclipse211
3. Diagramme de cas d'utilisation213
4. Diagramme de séquence218
5. Diagramme de communication221
6. Diagramme de classes223
Chapitre 8
Base de données MySQL
1. Introduction227
2. SQL et les bases de données relationnelles227
2.1 Les bases de données relationnelles227
2.2 SQL229
2.3 Transactions230
3. Installation et configuration du serveur XAMPP232
3.1 Gestion de l'accès au serveur236
3.2 Création de la base de données MySQL237
4. JDBC240
5. JPA242
6. Installation des pilotes Connector/J244
7. Installation d'EclipseLink245
Chapitre 9
Maquettes
1. Création des fenêtres251
1.1 Fenêtre de connexion255
1.2 Fenêtre d'accueil de l'application266
1.3 Fenêtre de gestion des clients275
1.3.1 Panneau principal276
1.3.2 Panneaux d'ajout et de modification277
1.3.3 Panneau de recherche278
1.4 Fenêtre de gestion des articles279
1.5 Fenêtres de gestion des commandes280
1.5.1 Saisie de nouvelles commandes280
1.5.2 Affichage des commandes existantes281
2. Gestion avancée des événements282
3. Activation des fenêtres285
3.1 Connexion285
3.2 Clients291
3.3 Accueil293
Chapitre 10
Connexion
1. Introduction297
2. Paramètres de connexion297
3. Mise en service de la fenêtre de connexion303
4. Lecture des enregistrements307
Chapitre 11
Classes entités
1. Introduction315
2. Gestion des erreurs316
3. Classe ModeReglements316
4. CRUD de la classe ModeReglements320
4.1 Créer321
4.2 Lire322
4.3 Modifier323
4.4 Rechercher324
4.5 Supprimer325
5. Classe Client326
6. CRUD de la classe Client331
6.1 Créer331
6.2 Lire332
6.3 Modifier333
6.4 Supprimer334
6.5 Chercher335
7. Classe Article338
8. CRUD de la classe Article343
8.1 Créer344
8.2 Lire345
8.3 Modifier346
8.4 Supprimer347
8.5 Rechercher348
9. Classe Commande349
10. CRUD de la classe Commande356
10.1 Créer357
10.2 Lire358
10.3 Modifier360
10.4 Supprimer361
10.5 Rechercher362
11. Prise en compte des entités par JPA362
Chapitre 12
Modèle MVC
1. Présentation du concept365
2. MVC et JTable367
3. Gestion des clients368
3.1 Modèle métier368
3.2 Modèle graphique368
3.3 Personnalisation de l'affichage de la table376
3.4 Gestion du simple clic383
3.5 Opérations sur le modèle384
3.5.1 Ajout d'un client384
3.5.2 Modification d'un client390
3.5.3 Suppression d'un client395
3.5.4 Recherche d'un client397
3.6 Mise à jour de la table399
3.6.1 Notification399
3.6.2 Événements403
3.6.3 Écouteur d'événements403
3.7 Nouveau modèle de table407
4. Notifications non graphiques407
5. Structure et sources412
5.1 ModeleClients413
5.2 ControleClient416
5.3 PClients420
5.4 PClient427
Chapitre 13
Application multitable
1. Introduction431
2. Classes associées431
3. Gestion des articles432
3.1 Affichage432
3.1.1 Création du modèle graphique433
3.1.2 Création du contrôle435
3.2 Ajout441
3.3 Modification444
3.3.1 Sélection d'un article444
3.3.2 Sauvegarde de la modification446
3.4 Suppression447
3.5 Recherche448
4. Gestion des commandes451
4.1 Affichage451
4.1.1 Création du modèle graphique452
4.1.2 Création du contrôle457
4.2 Ajout463
4.3 Modification472
4.4 Suppression473
4.5 Recherche476
Chapitre 14
Application finale
1. Impressions et exports479
1.1 Fonctionnement de JasperReports480
1.2 Installation de Jaspersoft Studio481
1.3 Créer un état simple483
1.3.1 Préparation483
1.3.2 Création du rapport488
1.4 Créer un état paramétré493
1.5 Intégration de JasperReports dans Eclipse498
1.6 Mise en oeuvre dans le projet498
1.6.1 Aperçu503
1.6.2 Impression du rapport504
1.6.3 Export en PDF504
2. Graphiques515
2.1 Création avec Jaspersoft Studio et JFreeChart515
2.2 Exploitation des graphiques à partir de l'application521
3. Création de l'exécutable525
4. Aller plus loin532
Index539