テキストを HTML として出力する JTextPane を使用してテキスト エディタを作成しようとしています。テキストを太字にしたり、色を付けたり、揃えたりするオプションを含めたいです。太字と太字が混在するテキストの選択範囲の色を変更する際に問題が発生しています。たとえば、エディターに「太字テキストではなく太字テキスト」というテキストがあり、両方の単語を強調表示してテキストの色を変更しようとすると、色が変更され、2 番目のテキストを残す代わりにすべてのテキストが太字になります。大胆ではない単語。setCharacterAttributes に関係があるのか、それともテキストを html として出力することに問題があるのか 、この問題がどこから来ているのかわかりません。テキストを太字にする私のコードの一部を次に示します。
MutableAttributeSet attrs = pane.getInputAttributes();
StyleConstants.setBold(attrs, bold);
pane.getStyledDocument().setCharacterAttributes(p.getSelectionStart(),len,attrs,false);
テキストの色を変更する前後の html 出力の例を次に示します。これはbodyタグの中身です
前: 太字ではなく太字
色を赤に変更した後: 太字ではなく太字のテキスト
そして、選択の最初の単語が太字であるかどうかに関係があります。同じ例を実行した場合、2 番目の部分が太字で、最初の部分が太字でない場合、問題なく動作します。したがって、テキスト選択の先頭が太字である場合と関係があります。