4

テキストエディタを作ろうとしています。StyledDocument で JTextPane を使用しています。私が実装しようとしているのは、選択したテキストの属性を変更する方法です。

これは次のように機能します。ユーザーは目的のテキストを入力します。その後、文字列を選択してボタンを押すことで、任意の文字列の属性 (フォント ファミリー、フォント サイズ、太字/斜体かどうか) を変更できます。チェックボックスとドロップダウン リストを使用して、必要な変更を選択します。

ドキュメントを再構築せずに、選択した文字列の属性を変更することはできますか? 私は検索してきましたが、適切な解決策を見つけることができませんでした。

4

3 に答える 3

4

StyledDocument の setCharacterAttributes メソッドを使用します。

これは、ハイライト カラーでテキストをハイライトする、私の Swing アプリケーションの 1 つからの例です。

        StyleContext sc = StyleContext.getDefaultStyleContext();
        AttributeSet aset = sc.addAttribute(
                SimpleAttributeSet.EMPTY,
                StyleConstants.Foreground, highlightColor);
        cobolProgram.setCharacterAttributes(offset, length, aset,
                false);

他の StyleConstants を使用して、他のスタイル属性を変更できます。

于 2013-01-07T16:00:09.307 に答える
3

が提供するアクションを使用できます。これはStyledEditorKitここに表示され、 「エディタ ペインとテキスト ペインの使用方法」で説明されています。

画像

于 2013-01-07T19:30:13.513 に答える
1

私の場合、ユーザーがテキストを変更したときにスタイルを「クリーン」にしました。

StyledDocument doc = tf.getStyledDocument();

//clean style
doc.setCharacterAttributes(0, sb.length(), DEF, true); 
于 2013-01-07T15:59:25.673 に答える