Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
enseignement:d14:tp:tp4 [2014/01/28 10:31] – modification externe 127.0.0.1enseignement:d14:tp:tp4 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== TP4 - Entrées/Sorties et IHM ======+====== D14 - TP4 - Entrées/Sorties et IHM ======
  
 ===== Objectif ===== ===== Objectif =====
Ligne 8: Ligne 8:
 http://download.oracle.com/javase/tutorial/essential/io/index.html http://download.oracle.com/javase/tutorial/essential/io/index.html
  
-En vous servant tu TP sur les animaux : +En vous servant tu TP sur les animaux (ou de celui sur la Bibliothèque en remplacent les Chien par des Livres ou des Ordinateurs Portables) mettez en place les éléments suivants : 
-  * Ajouter une méthode ''void sauverChien(Collection c, String fichier)'' et une méthode ''sauverChien(OutputStream os)'' à la classe Chien qui sauvegarde l'état interne d'un chien dans un fichier en écrivant les types primitifs directement en binaire dans un fichier. +==== Input et Output Stream ==== 
-  * Ajouter une méthode ''Collection restaurerChien(String fichier)'' à la classe Chien qui crée une collection d’instances de Chien à partir des informations stockées dans un fichier.+  * Ajouter une méthode ''void sauverChiens(Collection c, String fichier)'' et une méthode ''sauverChien(OutputStream os)'' à la classe Chien qui sauvegarde l'état interne d'un chien dans un fichier en écrivant les types primitifs directement en binaire dans un fichier. **Attention, méthodes d'instances ou de classe ?**  
 +  * Ajouter deux méthodes ''Collection restaurerChiens(String fichier)'' et ''Collection restaurerChiens(InputStream in)'' à la classe Chien qui crée une collection d’instances de Chien à partir des informations stockées dans un fichier ou dans un inputstream.
   * Modifier les méthodes précédentes pour qu'un tampon soit utilisé.   * Modifier les méthodes précédentes pour qu'un tampon soit utilisé.
   * Modifier les méthodes précédentes pour que le fichier soit compressé.   * Modifier les méthodes précédentes pour que le fichier soit compressé.
 +
 +==== Sérialisation classique ====
   * Créer les méthodes ''void sauverChien2(Collection c, String fichier)'' et   * Créer les méthodes ''void sauverChien2(Collection c, String fichier)'' et
 ''Collection restaurerChien2(String fichier)'' qui font la même chose en utilisant la sérialisation. ''Collection restaurerChien2(String fichier)'' qui font la même chose en utilisant la sérialisation.
-  * En utilisant la classe ''Socket'', créer un classe ''Client'' (qui ouvre une connexion vers le serveur et y sérialise des objets) et une classe ''Serveur'' qui attend un flux d'objets sérialisés, qui les désérialise et les affiche sur la console. 
  
 +==== Les socket en Java ====
 +  * En utilisant la classe ''Socket'', créer un classe ''Client'' (qui ouvre une connexion vers le serveur et y sérialise des objets) et une classe ''Serveur'' qui attend un flux d'objets sérialisés, qui les désérialise et les affiche sur la console.
 ===== Les IHM ===== ===== Les IHM =====
 http://download.oracle.com/javase/tutorial/uiswing/ http://download.oracle.com/javase/tutorial/uiswing/
Ligne 31: Ligne 35:
  
 ==== Editeur d'IHM ==== ==== Editeur d'IHM ====
-Pour aller plus loin, vous pouvez utiliser un générateur d'IHM http://code.google.com/intl/fr/javadevtools/wbpro/quick_start.html (Il faut installer un plugin sous eclipse).+Pour aller plus loin, vous pouvez utiliser un générateur d'IHM https://www.jetbrains.com/idea/help/swing-designing-gui.html
  
 Sous linux, si vous avez des problèmes d'affichage ajouter  Sous linux, si vous avez des problèmes d'affichage ajouter 
Ligne 40: Ligne 44:
  
 {{tag>D14 TP Java E/S IHM}} {{tag>D14 TP Java E/S IHM}}
- 
  
 ---- struct data ---- ---- struct data ----
 +metadata.level       : 
 +metadata.Type        : TP
 +metadata.Nom         : 
 +metadata.Enseignements : D14
 +metadata.Promotions 
 +metadata.Technologies : Java
 +metadata.Thèmes     : E/S, IHM
 +metadata.Description : 
 ---- ----