Question

J'ai un JEditorPane tenant un EditorKit personnalisé et un Document personnalisé (dérivé de DefaultStyledDocument).

Ce qui suit est un exemple pour le contenu du JEditorPane:


premier paragraphe

deuxième alinéa


Pour l'exemple ci-dessus, je reçois un document structure avec l'équivalent XML suivant:

<root>
    <section>

        <paragraph>
            <content>first</content>
            <content bold="true">paragraph</content>
        </paragraph>

        <paragraph>
            <content>second paragraph</content>
            <content>\n</content>
        </paragraph>

    </section>
</root>

Notez que les noms de balises ci-dessus sont déterminées par la fonction Element.getName ().

Mon intention est d'étendre cette structure par types d'éléments personnalisés pour modifier le contenu autre que le texte de style.

Un exemple serait étendre l'éditeur d'être un rédacteur note de musique pour obtenir une structure XML comme ceci:

<root>
    <section>

        <paragraph>
            <content>first</content>
            <content bold="true">paragraph</content>
        </paragraph>

        <musicnotes>
            <bar>
                <note>C</note>
                <note>D</note>
                <note>E</note>
            </bar>
        </musicnotes>

    </section>
</root>

Comme je le vois, le paragraphe et Style--éléments sont créés sur les méthodes Document.insertString () et Document.setCharacterAttributes ().

Mon problème est que je n'ai aucune idée comment remplacer ces méthodes (ou pendentifs d'écriture) à ne pas revenir à la structure par défaut, mais d'utiliser les types d'éléments personnalisés.

A tout ce que je ne sais même pas si cela est la bonne approche. Dois-je créer mon propre mise en œuvre du Document-interface pour créer une structure de document personnalisé?

Était-ce utile?

La solution

Voir l'exemple de tables création. http://java-sl.com/JEditorPaneTables.html

Vous pouvez utiliser la même définition de la structure désirée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top