CentraleSupélec LMF, UMR CNRS 9021
Département informatique Laboratoire Méthodes Formelles
Bât Breguet, 3 rue Joliot-Curie Bât 650 Ada Lovelace, Université Paris Sud
91190 Gif-sur-Yvette, France Rue Noetzlin, 91190 Gif-sur-Yvette, France
Exemples de code Java

Le code disponible à partir de cette page est distribué sous Eclipse Public License

Les exemples suivants correspondent aux problèmes que vous rencontrez fréquemment au cours de votre projet de développement logiciel. Ils ne remplacent pas la documentation des classes de l'édition standard de Java 1.5 ou 1.6.

Vous pouvez aussi consulter les tutoriels.

Autres exemples de code :

Lire et écrire dans un fichier

Ce fichier montre comment :

  • tester l'existence d'un fichier,
  • lire ligne par ligne le contenu d'un fichier texte,
  • écrire dans un fichier texte,
  • supprimer un fichier,
  • rechercher du texte dans une chaîne de caractères,
  • découper une chaîne de caractères selon certains délimiteurs.
  • Fichiers.java en codage iso-8859-1 (latin 1)

Interface graphique en Swing

Ce fichier montre comment :

  • créer une fenêtre principale avec Swing et lui ajouter des éléments graphiques,
  • utiliser un dialogue de sélection de fichier Swing,
  • traiter les événements générés par un bouton,
  • définir un nouveau composant graphique Swing,
  • tracer une ellipse, un rectangle, du texte.
  • SwingApp.java en codage iso-8859-1 (latin 1)

Contrôle de l'exécution d'un thread

Cet exemple montre comment utiliser un thread pour exécuter un comportement de manière asynchrone dans une interface graphique. Il indique aussi comment suspendre, poursuivre et arrêter l'exécution de ce comportement sans utiliser les méthodes suspend(), resume() et stop() de la classe Thread. L'usage de ces méthodes est en effet désapprouvé car elles bloquent, reprennent ou arrêtent l'exécution d'un thread sans tenir compte des ressources éventuellement acquises par ce thread, ce qui peut conduire très facilement à l'interblocage de threads.

  • UIThread.java en codage iso-8859-1 (latin 1)
  • UIThreadApplet.java, code source de l'applet ci-dessous. Cet exemple montre aussi comment créer une classe qui peut fonctionner en tant qu'applet et en tant qu'application.

AppletMarkup(PSS( width="500" height="100" code="UIThreadApplet.class" archive="UIThreadApplet.jar" codebase="/uploads/ExemplesJava/"))

Lire et écrire un fichier XML

XML est un format de fichier qui permet de représenter des structures arborescentes de façon standard. Un document XML est un arbre dont les noeuds sont appelés éléments. Un élément peut avoir des attributs et un contenu. Le contenu peut être formé d'autres éléments ou de texte.

Si vous devez enregistrer des données entre deux exécutions d'un programme, vous pouvez utiliser le format XML au lieu d'inventer votre propre format. D'une part, comme un fichier XML est un fichier texte, vous pourrez créer ou inspecter vos fichiers avec un simple éditeur de texte, et d'autre part, Java vous fournit ce qu'il faut pour lire et interpréter un fichier XML. Vous aurez simplement à choisir le nom des éléments et des attributs de vos documents XML.

Ce fichier montre comment :

  • créer un fichier XML valide,
  • analyser le contenu d'un fichier XML,
  • définir les actions associées à la lecture des éléments d'un fichier XML.
  • XML.java en codage iso-8859-1 (latin 1)

Produire des sons

Le paquet javax.sound.sampled contient des classes qui permettent d'accéder au système d'entrée/sortie sonore d'un ordinateur. Il est possible de faire l'acquisition du son disponible sur une source (microphone, entrée micro, lecteur de CD), ainsi que de produire du son sur les sorties (en général, les hauts-parleurs). Un autre paquet Java permet de produire du son grâce à un synthétiseur MIDI qui dispose d'une bibliothèque d'instruments virtuels. Nous n'abordons ici que la production de son à partir d'un signal échantillonné périodiquement.

Pour plus de de détails sur les classes utilisées, consulter la documentation du JDK. Pour une introduction à l'utilisation du son en Java, consulter le tutoriel correspondant.

Produire un son

Ce fichier montre comment :

  • obtenir une ligne audio pour y produire un son,
  • générer les échantillons sonores en respectant le format attendu par la ligne,
  • transmettre les échantillons à la ligne et attendre qu'ils aient été joués.
  • SonSimple.java en codage iso-8859-1 (latin 1)
  • SonSimpleThread.java indique de plus comment jouer un son dans un thread et interrompre ce son.

Vous pouvez consulter la documentation et le code source en ligne.

Produire des sons qui correspondent à des notes de musique

En plus de ce que montre l'exemple précédent, les fichiers de cette archive indiquent comment :

  • calculer la fréquence d'une note de musique,
  • générer les échantillons sonores selon différentes formes d'onde.

Cet exemple montre en particulier comment dissocier la notation musicale (deux exemples sont donnés) et la forme du signal (quatre formes sont proposées) des notes elles-mêmes.

Afficher une liste d'éléments modifiables

Ce fichier montre comment :

  • créer une fenêtre principale avec Swing et lui ajouter des éléments graphiques,
  • utiliser une JList, avec des barres de défilement
  • modifier le contenu d'une JList,
  • utiliser un dialogue pour éditer des données,
  • placer verticalement des composants dans un conteneur.
  • ExempleJList.java et VerticalLayout.java en codage iso-8859-1 (latin 1)