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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Copier le contenu d'un "Document" dans un autre.


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut Copier le contenu d'un "Document" dans un autre.
    Bonjour,

    Est il possible d'insérer le contenu d'un "Document" contenant du texte stylé à la suite d'un "Document" associé à un JTextPane?

    Des objets de type Document sont sérialisés pour ensuite les visualiser dans un JTextPane. Avec la méthode setDocument() cela fonctionne. Mais les écouteurs se trouvant dans plusieurs classes liés au Document doivent être réimplanté après l'insertion du nouveau. Cela serait plus simple à gérer de garder le Document initial et d'y insérer le contenu du nouveau.

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par id456 Voir le message
    Bonjour,

    Est il possible d'insérer le contenu d'un "Document" contenant du texte stylé à la suite d'un "Document" associé à un JTextPane?
    oui. dans le principe ou un "javax.swing.text.Document" est modifiable et consultable, tu peux insérer le contenu de l'un à la suite, ou au milieu, ou au début...
    mais ça demande un peu de traitement qui dépend de l'implémentation concrète. Par exemple, avec javax.swing.text.html.HTMLDocument, on peut imaginer les manips qu'il faut faire (en particulier au sujet du tag head)
    ça dépend de l'implémentation, d'autant plus qu'a part pour le PlainDocument, on ne peut pas faire cette opération uniquement à partir de l'interface

    Citation Envoyé par id456 Voir le message
    Des objets de type Document sont sérialisés pour ensuite les visualiser dans un JTextPane.
    aucun besoin de sérialiser un Document pour le visualiser dans un JTextPane

    Citation Envoyé par id456 Voir le message
    Avec la méthode setDocument() cela fonctionne. Mais les écouteurs se trouvant dans plusieurs classes liés au Document doivent être réimplanté après l'insertion du nouveau. Cela serait plus simple à gérer de garder le Document initial et d'y insérer le contenu du nouveau.
    setDocument(..) de JTextComponent ne permet pas de modifier un document, mais seulement de changer le document modéle. si on remplace un Document dans le Composant.
    lors d'un changement, il faudra évidemment que les écouteurs qui écoutaient le premier doc, écoutent le nouveau. on peut résoudre simplement le problème en faisant un écouteur de document unique qui dispatchent les événements vers d'autres écouteurs : on a alors besoin que de se préoccuper que du dispatcher lors du changement de doc. On peut même ajouter ses propres évenements pour les écouteurs du dispatcher puissent être notifiés du changement de doc, afin par exemple de remettre à zéro des caches, ou des indexes, des compteurs...

    pour "connaitre" les modifications d'un doc, il faut écouter les évenements de la classe Document (voir addDocumentListener(DocumentListener listener) ou addUndoableEditListener(UndoableEditListener listener), ou d'éventuels évenements supplémentaires dus à l'implémentation concrète)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Le code a été repensé pour ne plus conserver un Document sous forme d'objet sérialisé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/02/2010, 22h00
  2. Réponses: 1
    Dernier message: 28/05/2009, 22h45
  3. VBA: Insérer le contenu d'un document word dans un autre
    Par kabbajreda dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/08/2007, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo