Serialisation/"Deserialisation" [JAVA] - Programmation
Marsh Posté le 31-03-2001 à 11:13:13
Salut , j ai pas d idee pour ta reponse mais peux tu me expliquer a quoi ca sert de serialiser une fenetre dans un fichier ... ?
merci
ragefan@chez.com
Marsh Posté le 31-03-2001 à 19:36:47
Ben qd cette fenetre contient des JTexField, JComboxBox, etc, ca enregistre les valeurs qui etaient dedans, et ce, en quasiment une seule ligne de code.
Donc, quand je deserialise, les valeurs qui etaient dans ces "sous-compsants" reviennent, et ce, une nouvelle fois, en une seule ligne de code.
C'est juste par simplicité que je serialise, j'ai pas envie de me prendre la tete a recuperer chaque valeur qui etaient dans ces composants, les stocker separement dans un fichier texte, et apres, pour les restaurer, les relire separement dans mon fichier texte et faire unn setText() pour chacun de mes copmposants.
Voila en gros la principale raison, c'est juste pour gagner du temps.:sol:
Marsh Posté le 01-04-2001 à 12:55:34
spy2k a écrit a écrit : Voila j'ai une JDialog qui contient des JtextField, des Jbutton, etc. J'arrive a la serialiser, tout marche bien. Mais lorsque je la deserialise a partir du fichier, elle s'affiche bien mais tous les evenements que je lui ai associé ne sont plus "actifs". Par exemple, quand j'appuile sur un des boutons, il ne se passe plus rien. Poutant je fais bien unn addActionPerformed(...) dans le constructeur, constructeur qui contient tous les methodes pour creer, customiser et ajouter mes elements a mon JDialog donc celui-ci, je pense est bien executé. Je void donc trop pas pourkoi les addActionPerformed aussi definis dans ce constructeur ne marchent pas. Faut il initialiser un truc avant d'ajouter les evenements? enfin je sais pas... Si quelqu'un a une idée, qu'il hesite pas. Merci d'avance. |
Ton problème vient du fait que la sérialisation ne marche bien sur un objet que si l'objet peut être exprimé en terme de propriétés sérialisables. Dans ce cas la sérialisation consiste simplement à sérialiser chacune des propriétés du composant.
Par contre cela ne marche pas nativement si les propriétés ne sont pas nativement sérialisables: c'est le cas des pointeurs de code, qui n'ont pas de valeur intrinsèque.
Il faut donc compléter la sérialisation d'une opération de conversion des méthodes en valeurs énumérées (une table de conversion contenant un pointeur de méthode et un indice numérique (ou un nom sous forme de chaine de caractères) suffit pour une telle conversion, et une boucle de parcourt de la table suffit pour sérialiser/désérialiser les méthodes...).
Dans le cas de conteneurs d'évènements, il faut leur trouver une analogie de sérialisation: ici un conteneur de même nature mais contenant les valeurs sérialisées associées aux différents types d'évènements ou de méthodes.
[edit]--Message édité par verdy_p--[/edit]
Marsh Posté le 26-03-2001 à 19:11:18
Voila j'ai une JDialog qui contient des JtextField, des Jbutton, etc. J'arrive a la serialiser, tout marche bien.
Mais lorsque je la deserialise a partir du fichier, elle s'affiche bien mais tous les evenements que je lui ai associé ne sont plus "actifs".
Par exemple, quand j'appuile sur un des boutons, il ne se passe plus rien. Poutant je fais bien unn addActionPerformed(...) dans le constructeur, constructeur qui contient tous les methodes pour creer, customiser et ajouter mes elements a mon JDialog donc celui-ci, je pense est bien executé. Je void donc trop pas pourkoi les addActionPerformed aussi definis dans ce constructeur
ne marchent pas.
Faut il initialiser un truc avant d'ajouter les evenements?
enfin je sais pas...
Si quelqu'un a une idée, qu'il hesite pas.
Merci d'avance.