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

AWT/Swing Java Discussion :

Interprétation XML dans un JTextPane


Sujet :

AWT/Swing Java

  1. #1
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut Interprétation XML dans un JTextPane
    Bonjour,
    je voudrais afficher mes propres balises dans un JTextPane mais le résultat est étonnant :

    this.jTextPane1.setContentType("text/html");
    this.jTextPane1.setText("<root><w l=\"texte\">Texte</w><p><i><w l=\"paragraphe\">Paragraphe</w></i> <w l=\"1\">1</w></p><p><w l=\"paragraphe\">Paragraphe</w> <w l=\"2\">2</w></p></root>");

    Au final, chaque balise 'w' ouvrante et fermante est remplacée par un TextArea entourée d'une espèce de trapèze contenant la lettre 'w' comme dans l'image jointe.
    Quelqu'un aurait-il une idée sur la question ?

    Je suis également à la recherche d'informations sur la manière de dériver HTMLEditorKit.HTMLFactory afin de pouvoir formater mes propres balises.

    Merci d'avance et bye
    Images attachées Images attachées  

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    L'explication de ton problème se trouve dans la classe XMLEncoder qui permet de coder des java beans en xml.
    Par contre je n'ai pas la solution , pourrais-tu détailler ce que tu voudrais faire ?

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut et merci pour ta réponse
    En fait je voudrais simplement, dans un premier temps, qu'il affiche le texte sans afficher les balises et sans les transformer en TextArea.

    Ensuite j'aimerais préciser une typo pour certaines balises. Pour ça je pense que je vais utiliser les StyleSheet et addRule() plutôt que de dériver HTMLEditorKit.HTMLFactory, ce qui me semble plus difficile.

    XMLEncoder/ XMLDecoder ? il me semblait que c'était pour lire/sauvegarder des objets en XML, je ne vois pas trop le rapport avec mon problème.

    Bye

  4. #4
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par Djakisback
    XMLEncoder/ XMLDecoder ? il me semblait que c'était pour lire/sauvegarder des objets en XML, je ne vois pas trop le rapport avec mon problème.
    je voulais dire que tu peux encoder des java beans en xml que ce soit pour les sérialisés ou bien les interprétés par un JTextPane par exemple.

    As-tu essayé d'utiliser un JEditorPane au lieu de JTextPane ?

    P.S: je ne suis pas sùr de ma réponse du tout,j'éspére que je n'ai pas dit trop de bétises.

  5. #5
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Oui j'ai essayé JEditorPane, c'est pareil :/
    Ah, tu peux interpréter des javabeans XML dans un JTextPane ? Alors en effet le problème peut venir de là.

  6. #6
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Je pense qu'il y a moyen d'empécher l'interpretation de l'XML mais je n'arrive pas à touver l'attribut qui convient de changer
    Voici quelques pistes: EditorKit et Document.

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Je crois que je vais quand même être obligé de faire mon propre HTMLEditorKit, je continue mes recherches. Merci pour les infos

  8. #8
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Re ^^,
    bon au final je crois qu'il y a 2 méthodes mais j'ai laissé tomber car créer une View me semble extrement compliqué et je ne trouve pas de doc sur le fonctionnement des HTMLDocument.HTMLReader.TagAction. (De plus l'ordi rame complètement quand le JTextPane essaie d'interpréter un fichier XML de 3 Mo, (un Bi-proc 64 bits, Xeon mais faut dire que niveau balises y en a un paquet))

    1) - Etendre HTMLEditorKit.HTMLFactory et redéfinir public View create(Element elem);
    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public View create(Element elem) {
                View view;
                Object o = elem.getAttributes().getAttribute(StyleConstants.NameAttribute);
                if (o instanceof HTML.Tag) {
                    HTML.Tag tag = (HTML.Tag) o;
                    if (tag == HTML.Tag.COMMENT) {
                        view = new BlockView(elem);
                    } else if (tag instanceof HTML.UnknownTag) {
                        view = new GlypghView(elem);
                    } else {
                        view = super.create(elem);
                    }
                } else {
                    view = new LabelView(elem);
                }
                return view;
            }
    2) Etendre HTMLDocument.HTMLReader et "registrer" des nouvelles actions.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class testXMLReader extends HTMLDocument.HTMLReader {
            public testXMLReader(int offset)   {
                super(offset);
                this.registerTag(new HTML.UnknownTag("w"), new HTMLDocument.HTMLReader.CharacterAction());
                this.registerTag(new HTML.UnknownTag("root"), new HTMLDocument.HTMLReader.CharacterAction());
            }
    }
    Si quelqu'un a plus d'infos je suis toujours preneur
    Bye

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Eventuellement il existe des XMLEditorKits qui collent parfaitement à ta recherche et que tu peux utiliser ou dont tu peux t'inspirer pour réaliser le tien
    http://www.edankert.com/bounce/
    Les sources sont contenues dans l'archive

  10. #10
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Merci pour l'info je vais regarder cela

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/01/2012, 02h53
  2. Insérer un code xml dans une page html sans interprétation
    Par solenne74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/07/2011, 14h56
  3. Réponses: 0
    Dernier message: 27/08/2009, 16h18
  4. utilliser un autre fichier xml dans un xsl
    Par New Bee dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2003, 10h55
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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