Pregunta

tengo un JEditorPane manteniendo una costumbre EditorKit y una costumbre Document (Derivado del valor predeterminado deDocument).

El siguiente es un ejemplo para el contenido del JEditorPane:


primero párrafo

segundo parrafo


Para el ejemplo anterior, obtengo una estructura de documento con el siguiente XML-equivalente:

<root>
    <section>

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

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

    </section>
</root>

Tenga en cuenta que los nombres de etiquetas anteriores están determinados por la función Element.getName ().

Mi intención es extender esta estructura mediante tipos de elementos personalizados para editar contenido que no sea el texto con estilo.

Un ejemplo sería extender el editor para que sea un editor de notas de música para obtener una estructura XML como esta:

<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>

Como lo veo, los elementos de estilo y párrafo se crean en los métodos document.insertString () y document.setcharacterAttributes ().

Mi problema es que no tengo idea de cómo anular estos métodos (o escribir colgantes) para no volver a la estructura predeterminada sino para usar tipos de elementos personalizados.

En absoluto, ni siquiera sé si este es el enfoque correcto. ¿Tengo que crear mi propia implementación de la interfaz de documento para crear una estructura de documentos personalizada?

¿Fue útil?

Solución

Vea el ejemplo de la creación de tablas.http://java-sl.com/jeditorpanetables.html

Puede usar la misma estructura deseada definitoria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top