カスタムとカスタム(DefaultStyledDocumentから派生)JEditorPane
を保持してい
ます。EditorKit
Document
の内容の例を次に示します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() メソッドで作成されます。
私の問題は、これらのメソッドをオーバーライド (またはペンダントを作成) して、デフォルトの構造に戻らずにカスタム要素の種類を使用する方法がわからないことです。
これが正しいアプローチであるかどうかはまったくわかりません。カスタム ドキュメント構造を作成するには、ドキュメント インターフェイスの独自の実装を作成する必要がありますか?