Conflits entre attributs HTML et CSS dans un editeur de texte
Bonjour,
J’essaye de créer un editeur de texte avec un JTextPane, accompagné d’un système de sauvegarde/chargement.
Le modèle de document utilisé est un HTMLDocument.
Pour sauvegarder en HTML, j’utilise donc :
Code:
1 2
| StringWriter writer = new StringWriter();
htmlEditorKit.write(writer, htmlDocument, 0, htmlDocument.getLength()); |
et pour charger mon contenu HTML sauvegardé (htmlContentSaved) dans un nouveau JTextPane :
Code:
htmlEditorKit.read(new StringReader(htmlContentSaved), htmlDoc, 0);
Pour la gestion de l’alignement, j’utilise :
Code:
1 2
| new HTMLEditorKit.AlignmentAction("left", 0)
new HTMLEditorKit.AlignmentAction("center", 1) |
J’ai vu que cela ajoutait l’attribut CSS.attributes.TEXT_ALIGN au paragraphe en cours.
Lors de la sauvegarde, cet attribut est converti en HTML.attributes.ALIGN.
Au chargement, lorsque je veux centrer mon texte, j’utilise donc la même méthode qui ajoute un CSS.attributes.TEXT_ALIGN. Mais cela semble entrer en conflit avec l’attribut HTML.attributes.ALIGN qui a été régénéré au chargement et mon texte ne s’aligne pas : il reste en place.
Cela m’amène aux questions suivantes :
- Comment faire pour gérer ce « conflit » entre les attributs HTML et CSS ? Est-ce qu’il faut utiliser d’autres méthodes pour aligner, sauvegarder ou charger ?
- De manière générale, quelles seraient les bonnes pratiques pour réaliser ce traitement de texte (styles, méthodes de sauvegarde/chargement, …)
Je vous remercie par avance pour vos réponses.