TABLE DES MATI `
ERES TABLE DES MATI `
ERES
9.2.1 Collections et tables associatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.2.2 It´erateurs ........................................... 69
9.2.3 Quelques m´ethodes des collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
9.2.4 Algorithmes pour les collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2.5 Algorithmes pour les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
9.3 R´eflexion et manipulation des types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
9.4 Entr´ees-sorties ............................................ 76
9.4.1 Les classes de flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
9.4.2 Exemples ........................................... 79
9.4.3 Analyselexicale........................................ 82
9.4.4 Mise en forme de donn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.4.5 Repr´esentation des dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.4.6 Las´erialisation........................................ 88
9.5 Expressions r´eguli`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.5.1 Principe............................................ 90
9.5.2 Exemples ........................................... 90
10 Threads 94
10.1 Cr´eation et cycle de vie d’un thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.1.1 D´eclaration, cr´eation et lancement de threads . . . . . . . . . . . . . . . . . . . . . . . 94
10.1.2 Terminaison d’un thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.2Synchronisation............................................ 96
10.2.1 Sections critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.2.2 M´ethodes synchronis´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11 Interfaces graphiques 100
11.1 JFC =AWT +Swing ....................................... 100
11.2 Le haut de la hi´erarchie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
11.3 Le point de d´epart : JFrame et une application minimale. . . . . . . . . . . . . . . . . . . . . 103
11.4 Le thread de gestion des ´ev´enements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11.5 ´
Ev´enements.............................................. 106
11.5.1 Exemple : d´etecter les clics de la souris. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
11.5.2 Adaptateurs et classes anonymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.5.3 Principaux types d’´ev´enements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
11.5.4 Exemple : fermeture “prudente” du cadre principal . . . . . . . . . . . . . . . . . . . . 114
11.6 Peindre et repeindre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
11.6.1 La m´ethode paint ...................................... 115
11.6.2 Les classes Graphics et Graphics2D ............................ 116
11.6.3 Exemple : la mauvaise mani`ere de dessiner . . . . . . . . . . . . . . . . . . . . . . . . 118
11.6.4 Exemple : la bonne mani`ere de dessiner. . . . . . . . . . . . . . . . . . . . . . . . . . . 119
11.7 Gestionnaires de disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
11.7.1 FlowLayout .......................................... 121
11.7.2 BorderLayout ........................................ 122
11.7.3 GridLayout .......................................... 122
11.7.4 GridBagLayout ........................................ 123
11.7.5 Exemple : un panneau muni d’un GridBagLayout .................... 123
11.7.6 Exemple : imbrication de gestionnaires de disposition . . . . . . . . . . . . . . . . . . 125
11.7.7 Bordures ........................................... 125
11.8 Composants pr´ed´efinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.8.1 Exemple : mise en place et emploi de menus . . . . . . . . . . . . . . . . . . . . . . . . 126
11.8.2 Exemple : construire une boite de dialogue . . . . . . . . . . . . . . . . . . . . . . . . 128
11.8.3 Exemple : saisie de donn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
11.8.4 Exemple : choisir un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
11.8.5 Exemple : une table pour afficher des donn´ees . . . . . . . . . . . . . . . . . . . . . . . 134
11.8.6 Exemple : s´election et modification dans une table . . . . . . . . . . . . . . . . . . . . 136
11.9 Le mod`ele MVC (Mod`ele-Vue-Controleur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
11.9.1 Exemple : les vues arborescentes (JTree) ......................... 138
11.10Images................................................. 143
11.10.1 Exemple : utiliser des icˆones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
11.10.2 Exemple : charger une image depuis un fichier . . . . . . . . . . . . . . . . . . . . . . 145
11.10.3 Exemple : construire une image pixel par pixel . . . . . . . . . . . . . . . . . . . . . . 147
c
H. Garreta, 2000-2015 5