2011-01-27 10 views
2

Styleのスタイル名を取得する方法はありますか?またはStyleの特定の位置にJTextPaneの位置に挿入するときにテキストを付けたかどうかを比較するだけですか?私の目的のために私はカスタムJTextPaneStyledDocumentおよびDocumentFilterを作成したので。だから私はStyleを普通の文字と数字のための別のスタイルのために使うように選ぶことができました。私はまた、トグルボタンをトグルしている間に番号DocumentFilterを別々にフォーマットするように設定していますが、最後には番号を変更することはできませんので、JTextPane's getText()メソッドによって影響を受けた数字は区別できません。したがって、私は定数として通常のスタイルと特殊なスタイルの両方を持つスタイルを比較することが唯一の方法です。私が思いつくのは、各キャラクターのスタイルを取得する方法だけです。JTextPaneのオフセットからスタイルを取得

私はgetCharacterAttributes()と呼ばれるキャレットの位置からAttributeSetを取得する方法はJTextPane'sですが、私はそれが私の問題ではないと思います。

コード例を含める必要がありますか?想像するのは難しいとは思わない。あなたが私を望むなら、私はそれを含めるでしょう。

すべての入力をいただければ幸いです。ありがとう!

答えて

9

StyledDocument.getCharacterElement(pos)を呼び出して、その位置の文字要素を取得し、Element.getAttributes()を呼び出してその属性セットを取得します。

AttributeSetには、StyleConstantsで提供されるメソッドを使用して取得できるスタイルが含まれています。

+0

StyledDocument.getCharacterElement(pos).getAttributes()。containsAttributs()を使用していただきありがとうございます。私はfinnally、thxをもう一度動作させることができました! – Martin