IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Développons en Java

13/07/2003

Par Jean-Michel Doudoux (Autres articles)
 

L'idée de départ de ce document était de prendre des notes relatives à mes premiers essais en Java. Ces notes ont tellement grossies que j'ai décidé de les formaliser un peu plus et de les diffuser sur internet sous la forme d'un didacticiel.



Préambule
0. Préambule
0.1. A propos de ce document
0.2. Notes de licence
0.3. Marques déposées
0.4. Historique des versions
Chapitre 1
1. Présentation
1.1. Les caractéristiques
1.2. Bref historique de Java
1.3. Les différentes éditions de Java
1.3.1. Java 1.0
1.3.2. Java 1.1
1.3.3. Java 1.2
1.3.4. Java 1.3
1.3.5. Java 1.4 (nom de code Merlin)
1.3.6. Java 1.5 (nom de code Tiger)
1.3.7. Le résumé des différentes versions
1.3.8. Les extensions du JDK
1.4. Un rapide tour d'horizon des API et de quelques outils
1.5. Les différences entre Java et JavaScript
1.6. L'installation du JDK
1.6.1. L'installation de la version 1.3 DU JDK de Sun sous Windows 9x
1.6.2. L'installation de la documentation de java 1.3 sous Windows
1.6.3. La configuration des variables système sous Windows
1.6.4. Les éléments du JDK 1.3 sous Windows
Chapitre 2
2. Les techniques de base de programmation en Java
2.1. La compilation d'un code source
2.2. L'exécution d'un programme et d'une applet
2.2.1. L'exécution d'un programme
2.2.2. L'exécution d'une applet
Chapitre 3
3. La syntaxe et les éléments de bases de java
3.1. Les règles de base
3.2. Les identificateurs
3.3. Les commentaires
3.4. La déclaration et l'utilisation de variables
3.4.1. La déclaration de variables
3.4.2. Les types élémentaires
3.4.3. Le format des types élémentaires
3.4.4. L'initialisation des variables
3.4.5. L'affectation
3.4.6. Les comparaisons
3.5. Les opérations arithmétiques
3.5.1. L'arithmétique entière
3.5.2. L'arithmétique en virgule flottante
3.5.3. L'incrémentation et la décrémentation
3.6. La priorité des opérateurs
3.7. Les structures de contrôles
3.7.1. Les boucles
3.7.2. Les branchements conditionnels
3.7.3. Les débranchements
3.8. Les tableaux
3.8.1. La déclaration des tableaux
3.8.2. L'initialisation explicite d'un tableau
3.8.3. Le parcours d'un tableau
3.9. Les conversions de types
3.9.1. La conversion d'un entier int en chaine de caractère String
3.9.2. La conversion d'une chaine de caractères String en entier int
3.9.3. La conversion d'un entier int en entier long
3.10. La manipulation des chaines de caractères
3.10.1. Les caractères spéciaux dans les chaines
3.10.2. L'addition de chaines
3.10.3. La comparaison de deux chaines
3.10.4. La détermination de la longueur d'une chaine
3.10.5. La modification de la casse d'une chaine
Chapitre 4
4. La programmation orientée objet
4.1. Le concept de classe
4.1.1. La syntaxe de déclaration d'une classe
4.2. Les objets
4.2.1. La création d'un objet : instancier une classe
4.2.2. La durée de vie d'un objet
4.2.3. La création d'objets identiques
4.2.4. Les références et la comparaison d'objets
4.2.5. L'objet null
4.2.6. Les variables de classes
4.2.7. La variable this
4.2.8. L'opérateur instanceof
4.3. Les modificateurs d'accès
4.3.1. Les mots clés qui gèrent la visibilité des entités
4.3.2. Le mot clé static
4.3.3. Le mot clé final
4.3.4. Le mot clé abstract
4.3.5. Le mot clé synchronized
4.3.6. Le mot clé volatile
4.3.7. Le mot clé native
4.4. Les propriétés ou attributs
4.4.1. Les variables d'instances
4.4.2. Les variables de classes
4.4.3. Les constantes
4.5. Les méthodes
4.5.1. La syntaxe de la déclaration
4.5.2. La transmission de paramètres
4.5.3. L'emmission de messages
4.5.4. L'enchainement de références à des variables et à des méthodes
4.5.5. La surcharge de méthodes
4.5.6. La signature des méthodes et le polymorphisme
4.5.7. Les constructeurs
4.5.8. Le destructeur
4.5.9. Les accesseurs
4.6. L'héritage
4.6.1. Le principe de l'héritage
4.6.2. La mise en oeuvre de l'héritage
4.6.3. L'accès aux propriétés héritées
4.6.4. Le transtypage induit par l'héritage facilitent le polymorphisme
4.6.5. La redéfinition d'une méthode héritée
4.6.6. Les interfaces et l'héritage multiple
4.6.7. Des conseils sur l'héritage
4.7. Les packages
4.7.1. La définition d'un package
4.7.2. L'utilisation d'un package
4.7.3. La collision de classes.
4.7.4. Les packages et l'environnement système
4.8. Les classes internes
4.8.1. Les classes internes non statiques
4.8.2. Les classes internes locales
4.8.3. Les classes internes anonymes
4.8.4. Les classes internes statiques
4.9. La gestion dynamique des objets
Chapitre 5
5. La bibliothèque de classes java
5.1. Présentation du package java.lang
5.1.1. La classe Object
5.1.1.1. La méthode getClass()
5.1.1.2. La méthode toString()
5.1.1.3. La méthode equals()
5.1.1.4. La méthode finalize()
5.1.1.5. La méthode clone()
5.1.2. La classe String
5.1.3. La classe StringBuffer
5.1.4. Les wrappers
5.1.5. La classe System
5.1.5.1. L'utilisation des flux d'entrée/sortie standard
5.1.5.2. Les variables d'environnement et les propriétés du système
5.1.6. La classe Runtime
5.2. Présentation rapide du package awt java
5.2.1. Le package java.image
5.2.2. Le package java.awt.perr
5.3. Présentation rapide du package java.io
5.4. Le package java.util
5.4.1. La classe StringTokenizer
5.4.2. La classe Random
5.4.3. Les classes Date et Calendar
5.4.4. La classe Vector
5.4.5. La classe Hashtable
5.4.6. L'interface Enumeration
5.4.7. Les expressions régulières
5.4.7.1. Les motifs
5.4.7.2. La classe Pattern
5.4.7.3. La classe Matcher
5.5. Présentation rapide du package java.net
5.6. Présentation rapide du package java.applet
Chapitre 6
6. Les fonctions mathématiques
6.1. Les variables de classe
6.2. Les fonctions trigonométriques
6.3. Les fonctions de comparaisons
6.4. Les arrondis
6.4.1. La méthode round(n)
6.4.2. La méthode rint(double)
6.4.3. La méthode floor(double)
6.4.4. La méthode ceil(double)
6.4.5. La méthode abs(x)
6.5. La méthode IEEEremainder(double, double)
6.6. Les Exponentielles et puissances
6.6.1. La méthode pow(double, double)
6.6.2. La méthode sqrt(double)
6.6.3. La méthode exp(double)
6.6.4. La méthode log(double)
6.7. La génération de nombres aléatoires
6.7.1. La méthode random()
Chapitre 7
7. La gestion des exceptions
7.1. Les mots clés try, catch et finally
7.2. La classe Throwable
7.3. Les classes Exception, RunTimeException et Error
7.4. Les exceptions personnalisées
Chapitre 8
8. Le multitâche
8.1. L'interface Runnable
8.2. La classe Thread
8.3. La création et l'exécution d'un thread
8.3.1. La dérivation de la classe Thread
8.3.2. Implémentation de l'interface Runnable
8.3.3. Modification de la priorité d'un thread
8.4. La classe ThreadGroup
8.5. Thread en tâche de fond (démon)
8.6. Exclusion mutuelle
8.6.1. Sécurisation d'une méthode
8.6.2. Sécurisation d'un bloc
8.6.3. Sécurisation de variables de classes
8.6.4. La synchronisation : les méthodes wait() et notify()
Chapitre 9
9. Le graphisme
9.1. Les opérations sur le contexte graphique
9.1.1. Le tracé de formes géométriques
9.1.2. Le tracé de texte
9.1.3. L'utilisation des fontes
9.1.4. La gestion de la couleur
9.1.5. Le chevauchement de figures graphiques
9.1.6. L'effacement d'une aire
9.1.7. La copier une aire rectangulaire
Chapitre 10
10. Les éléments d'interface graphique de l'AWT
10.1. Les composants graphiques
10.1.1. Les étiquettes
10.1.2. Les boutons
10.1.3. Les panneaux
10.1.4. Les listes déroulantes (combobox)
10.1.5. La classe TextComponent
10.1.6. Les champs de texte
10.1.7. Les zones de texte multilignes
10.1.8. Les listes
10.1.9. Les cases à cocher
10.1.10. Les boutons radio
10.1.11. Les barres de défilement
10.1.12. La classe Canvas
10.2. La classe Component
10.3. Les conteneurs
10.3.1. Le conteneur Panel
10.3.2. Le conteneur Window
10.3.3. Le conteneur Frame
10.3.4. Le conteneur Dialog
10.4. Les menus
10.4.1. Les méthodes de la classe MenuBar
10.4.2. Les méthodes de la classe Menu
10.4.3. Les méthodes de la classe MenuItem
10.4.4. Les méthodes de la classe CheckboxMenuItem
Chapitre 11
11. La création d'interface graphique avec AWT
11.1. Le dimensionnement des composants
11.2. Le positionnement des composants
11.2.1. La mise en page par flot (FlowLayout)
11.2.2. La mise en page bordure (BorderLayout)
11.2.3. La mise en page de type carte (CardLayout)
11.2.4. La mise en page GridLayout
11.2.5. La mise en page GridBagLayout
11.3. La création de nouveaux composants à partir de Panel
11.4. Activer ou desactiver des composants
11.5. Afficher une image dans une application.
Chapitre 12
12. L'interception des actions de l'utilisateur
12.1. Intercepter les actions de l'utilisateur avec Java version 1.0
12.2. Intercepter les actions de l'utilisateur avec Java version 1.1
12.2.1. L'interface ItemListener
12.2.2. L'interface TextListener
12.2.3. L'interface MouseMotionListener
12.2.4. L'interface MouseListener
12.2.5. L'interface WindowListener
12.2.6. Les différentes implémentations des Listener
12.2.6.1. Une classe implémentant elle même le listener
12.2.6.2. Une classe indépendante implémentant le listener
12.2.6.3. Une classe interne
12.2.6.4. Une classe interne anonyme
12.2.7. Résumé
Chapitre 13
13. Le développement d'interface graphique avec SWING
13.1. Présentation de Swing
13.2. Les packages Swing
13.3. Un exemple de fenêtre autonome
13.4. Les composants Swing
13.4.1. La classe JFrame
13.4.1.1. Le comportement par défaut à la fermeture
13.4.1.2. La personnalisation de l'icone
13.4.1.3. Centrer une JFrame à l'écran
13.4.1.4. Les évenements associées à un JFrame
13.4.2. Les étiquettes : la classe JLabel
13.4.3. Les panneaux : la classe Jpanel
13.5. Les boutons
13.5.1. La classe AbstractButton
13.5.2. La classe JButton : les boutons
13.5.3. La classe JToggleButton
13.5.4. La classe ButtonGroup
13.5.5. Les cases à cocher : la classe JCheckBox
13.5.6. Les boutons radio : la classe JRadioButton
Chapitre 14
14. Les applets
14.1. L'intégration d'applets dans une page HTML
14.2. Les méthodes des applets
14.2.1. La méthode init()
14.2.2. La méthode start()
14.2.3. La méthode stop()
14.2.4. La méthode destroy()
14.2.5. La méthode update()
14.2.6. La méthode paint()
14.2.7. Les méthodes size() et getSize()
14.2.8. Les méthodes getCodeBase() et getDocumentBase()
14.2.9. La méthode showStatus()
14.2.10. La méthode getAppletInfo()
14.2.11. La méthode getParameterInfo()
14.2.12. La méthode getGraphics()
14.2.13. La méthode getAppletContext()
14.2.14. La méthode setStub()
14.3. Les interfaces utiles pour les applets
14.3.1. L'interface Runnable
14.3.2. L'interface ActionListener
14.3.3. L'interface MouseListener pour répondre à un clic de souris
14.4. La transmission de paramètres à une applet
14.5. Applet et le multimédia
14.5.1. Insertion d'images.
14.5.2. Insertion de sons
14.5.3. Animation d'un logo
14.6. Applet et application (applet pouvant s'éxécuter comme application)
14.7. Les droits des applets
Chapitre 15
15. Les collections
15.1. Présentation du framework collection
15.2. Les interfaces des collections
15.2.1. L'interface Collection
15.2.2. L'interface Iterator
15.3. Les listes
15.3.1. L'interface List
15.3.2. Les listes chaînées : la classe LinkedList
15.3.3. L'interface ListIterator
15.3.4. Les tableaux redimensionnables : la classe ArrayList
15.4. Les ensembles
15.4.1. L'interface Set
15.4.2. L'interface SortedSet
15.4.3. La classe HashSet
15.4.4. La classe TreeSet
15.5. Les collections gérées sous la forme clé/valeur
15.5.1. L'interface Map
15.5.2. L'interface SortedMap
15.5.3. La classe Hashtable
15.5.4. La classe TreeMap
15.5.5. La classe HashMap
15.6. Le tri des collections
15.6.1. L'interface Comparable
15.6.2. L'interface Comparator
15.7. Les algorithmes
15.8. Les exceptions du framework




Copyright (C) 1999-2003 Jean Michel DOUDOUX