Domanda

Ho un JEditorPane Tenendo un'usanza EditorKit e un'usanza Document (derivato dal documentazione predefinita).

Quello che segue è un esempio per il contenuto del JEditorPane:


primo paragrafo

Secondo paragrafo


Per l'esempio sopra ottengo una struttura per documenti con il seguente 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>

Si noti che i nomi dei tag sopra sono determinati dalla funzione Element.getName ().

La mia intenzione è di estendere questa struttura per tipi di elementi personalizzati per modificare contenuti diversi dal testo in stile.

Un esempio sarebbe estendere l'editor per essere un editor di nota musicale per ottenere una struttura XML come questa:

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

A quanto pare, gli elementi di stile e paragrafo sono creati sui metodi document.insertString () e document.setcharacterattributes ().

Il mio problema è che non ho idea di come sovrascrivere questi metodi (o scrivere pendenti) per non tornare alla struttura predefinita ma di utilizzare tipi di elementi personalizzati.

Non so nemmeno se questo è l'approccio corretto. Devo creare la mia implementazione dell'interfaccia documento per creare una struttura di documenti personalizzati?

È stato utile?

Soluzione

Vedi l'esempio della creazione di tabelle.http://java-sl.com/jeditorpanetables.html

Puoi usare la stessa struttura desiderata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top