2

カスタムとカスタム(DefaultStyledDocumentから派生)JEditorPaneを保持してい ます。EditorKitDocument

の内容の例を次に示しますJEditorPane


最初の段落

第二段落


上記の例では、次の XML に相当するドキュメント構造を取得します。

<root>
    <section>

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

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

    </section>
</root>

上記のタグ名は Element.getName() 関数によって決定されることに注意してください。

私の意図は、カスタム要素タイプによってこの構造を拡張して、スタイル付きテキスト以外のコンテンツを編集することです。

例として、エディターを音楽ノート エディターに拡張して、次のような XML 構造を取得します。

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

ご覧のとおり、Style-Elements と Paragraph-Elements は Document.insertString() メソッドと Document.setCharacterAttributes() メソッドで作成されます。

私の問題は、これらのメソッドをオーバーライド (またはペンダントを作成) して、デフォルトの構造に戻らずにカスタム要素の種類を使用する方法がわからないことです。

これが正しいアプローチであるかどうかはまったくわかりません。カスタム ドキュメント構造を作成するには、ドキュメント インターフェイスの独自の実装を作成する必要がありますか?

4

1 に答える 1

2

テーブル作成の例を参照してください。 http://java-sl.com/JEditorPaneTables.html

必要な構造を定義するのと同じものを使用できます。

于 2011-12-03T06:43:54.727 に答える