0

JtextPaneテキストを HTML として出力するシンプルなテキスト エディタを作成しています。スタイリング オプションには、太字、色、配置が含まれます。エディターを開いてテキストを入力すると、すべて正常に機能します。しかし、テキストを html でファイルに保存し、そのファイルを読み取ってエディターに戻すと、問題が発生します。太字のテキストを含むファイルを保存した場合 (テキストの<b>周りにタグが付いているため)、ファイルを開き直して ( 経由でsetText) エディターに挿入すると、テキストを「太字にする」ことができません。を介して太字/太字のテキストを処理する方法setCharacterAttributes。対応するコードは次のようになります。

MutableAttributeSet attrs = pane.getInputAttributes();
StyleConstants.setBold(attrs, bold);
pane.getStyledDocument().setCharacterAttributes(p.getSelectionStart(),length,attrs,false);

この状況でテキストの太字を外して HTML を印刷すると、タグが削除されていないことがわかります。ただし、エディター自体には変更が反映されます。つまり、テキストは太字ではないように見えますが、html は変更されていないため、保存して再読み込みしても太字のままです。したがって、html を読み込んだ後にこの問題が発生する理由はわかりませんが、テキストを最初から編集しているときには問題は発生しません。何か案は?

4

0 に答える 0