JEditorPane
および HTMLDocument
クラスを使用して HTML をレンダリングするスイング クライアントがあります。
私が抱えている問題は、ドキュメントの領域を、後日取得されるテキストのコンテナーとして定義 document.setInnerHTML(element, data);
し、プレースホルダーのコンテンツを「実際の」コンテンツと交換するために使用できるようにしたいことです。 .
そこで、次のようなタグを定義することにしました。
<html>
<body>
some text <mytag id="1>placeholder</mytag> some more text
</body>
</html>
私が使用すると問題が発生しdocument.getElement(String id)
ます-mytagを要素として見つけますが、それはコンテンツを持たないリーフ要素であると考えているため、.setInner()を呼び出すことができません。要素の親リストを見ると、3 つあると考えられます - 私のタグは個々のコンポーネントとして解釈されました:
mytag (開始)
content
mytag (終了)
したがって、ドキュメント (またはパーサー) に自分のタグについて伝える必要があると推測していますが、この分野にはかなり慣れていないため、ここでうまくいきません。
それで、誰かがこれについて何か経験したことがありますか?span タグをごまかして使用することもできますが、(簡潔にするために除外します) タグに対して追加の属性も格納する必要があるため、それは適切ではありません。
お時間をいただきありがとうございます...