31/01/06

 

JAVA  TP n° 5 : Collections et composants graphiques

 

 

 

Exercice 1 : Collection contenant des noms de pays

 

Pour cet exercice, vous pouvez vous aider de la documentation en ligne de la classe  « ArrayList »

 

a) Créer un programme Java qui crée une collection (ArrayList) de noms de pays puis alimenter cette collection avec quelques valeurs et afficher la taille de la collection

 

Exemple de résultat à obtenir :

> java CollPays

La collection creee contient 4 pays !

 

 

b) Compléter le programme pour afficher le contenu de la collection.

 

Exemple de résultat à obtenir :

> java CollPays

La collection creee contient 4 pays !

France

Allemagne

USA

Chine

 

c) Trouver une méthode pour vider la collection et modifier votre programme pour afficher un message d’erreur lorqu’elle est vide et afficher le contenu lorsqu’elle n’est pas vide.

 

Exemple de résultat à obtenir :

> java CollPays

Liste vide

 

d) Après avoir de nouveau alimenté votre liste de pays, modifiez le nom d’un pays et affichez de nouveau la liste des pays.

Conseil : Pour modifier le nom, il faut supprimer un élément (remove) et en ajouter un autre (add)

Remarque : Il y a plusieurs méthodes pour ajoûter ou supprimer des éléments dans un colection de type ArrayList. Choisissez celle que vous voulez (dans la documentation) !

 

e) Triez votre collection et ré-affichez la liste des pays.

 

Pour trier notre collection, il faut utiliser la méthode « sort ». Si vous regardez la documentation de la classe « ArrayList », vous ne trouvez pas cette méthode.

Mais allez voir la documentation de la classe « Collections » : cette méthode y est présente.

Et par chance, une « ArrayList » est aussi une « collection ». Comme Médor qui est un « Chien » est aussi un « Animal ».

Ces notions seront vus ultérieurement…

Pour le moment, utilisons la syntaxe suivante « Collections.sort(uneArrayList) » pour trier une ArrayList.

 


Exercice 2 : Classe JFrame

 

 

Remarque : pensez à mettre dans votre fichier en toute première ligne « import javax.swing.* ; »

 

1. A l’aide de la documentation ci-dessous, listez les constructeurs, les accesseurs et les modificateurs disponibles

 

2. Codez la méthode main d'une classe nommée TestJFrame afin :

• d'instancier (d'initialiser) un objet de classe JFrame.

• modifier ses attributs afin que cet objet :

• soit visible. Testez.

• ait une largeur de 500 pixels et une hauteur de 200 pixels. Testez.

• soit positionné avec une marge de 50 pixels en partant du bord gauche et du haut

de l'écran. Testez.

• ait pour titre « TP numéro 5 ».

 

3. Exécutez votre programme pour vérifier son fonctionnement !

 

 

Classe JFrame

Constructor Summary

JFrame()
          Constructs a new frame that is initially invisible.

 

 Method Summary

Void

setSize(int width, int height)
          Resizes this component so that it has width width and height height.

Void

setVisible(boolean b)
          Shows or hides this component depending on the value of parameter b.

Void

setLocation(int x, int y)
          Moves this component to a new location.

Void

setTitle(String title)
          Sets the title for this frame to the specified string.

 


 

Exercice 3 : Classe JFILECHOOSER et classe FILE

 

Remarque : Pensez à mettre dans votre fichier en toutes premières lignes
« 
import javax.swing.*; » et « import java.io.* ; »

 

a) Créez un programme nommé TestJFileChooser (méthode main).
En vous aidant de la documentation ci-dessous, créer un objet de classe JFileChooser en utilisant le constructeur de la classe.

Puis utilisez la méthode « showMessageDialog ».

Remarque : le paramètre attendu correspond au composant parent, vous n'en avez pas, vous mentionnerez le mot clef « null »

 

Exécutez votre programme pour vérifier son fonctionnement !

 

Classe JFileChooser

Constructor Summary

JFileChooser()
          Constructs a JFileChooser pointing to the user's default directory.

 

Method Summary

 File

getSelectedFile()
          Returns the selected file.

 void

setCurrentDirectory(File dir)
          Sets the current directory.

 int

showOpenDialog(Component parent)
          Pops up an "Open File" file chooser dialog.

 

b) Complétez votre programme en déclarant une variable de type « File » et utilisez une des trois méthodes indiquées ci-dessus pour valoriser cette variable avec le fichier sélectionné par l'utilisateur.

Affichez le fichier sélectionné à l'aide de la méthode « showMessageDialog » de la classe « JoptionPane » (vu dans les TP précédents).

 

Classe File

Constructor Summary

File(String pathname)
          Creates a new File instance by converting the given pathname string into an abstract pathname.

 

 

 

c) La fenêtre s'est ouverte pointant sur un répertoire par défaut. Essayez de changer ce répertoire par défaut puis testez.

Conseil : Utilisez une des 3 méthodes indiquées ci-dessus

 

 

 


 

Exercice 4 : Une collection d’opérations

 

Lors du TP précédent, dans l’exercice 3, vous avez développé une classe « Operations ». Si vous n’avez pas eu le temps de la développer, téléchargez le source dans la correction du TP 4 à cette adresse : http://pchochois.free.fr/TP_Java04_corrige.htm

 

 

 

Par souci de simplification et contrairement à ce diagramme UML, nous considérons une date au format chaîne de caractères (String)

 

Après avoir créé votre classe « Operation », développez un programme Java qui affiche le menu suivant :

0. Quitter

1. Voir les opérations

2. Ajouter une opération

 

Tant que l'utilisateur ne choisit pas l'option 0, le menu lui est proposé de nouveau.

 

Développez les différentes options du meny en mémorisant les opérations dans une collection (ArrayList) d’opérations.