有没有办法获得Style
,一个样式名称或甚至比较Style
在JTextPane
的某个位置是否与我在插入时给出文字的样式有关?因为我的目的,我创建了自定义JTextPane
,StyledDocument
和DocumentFilter
。所以我可以选择Style
用于说普通字母和另一种用于数字的样式。我还切换按钮,当切换设置DocumentFilter
时,不同地格式化数字,而不是定期切换数字格式,所以最后根据JTextPane's getText()
方法无法区分哪些数字受到影响。因此,唯一的方法是比较我将常规和特殊数字样式作为常量的样式。我唯一需要提出的是如何为每个角色获得Style。
我知道有JTextPane's
方法从插入符号getCharacterAttributes()
的位置获取AttributeSet,但我认为这对我的问题毫无用处。
是否需要包含代码示例?我不认为这很难想象。如果你想要我,我会把它包括在内。
任何输入都将不胜感激。谢谢!
答案 0 :(得分:9)
尝试调用StyledDocument.getCharacterElement(pos)
获取该位置的字符元素,然后调用Element.getAttributes()
以获取其属性集。
AttributeSet
包含您可以使用StyleConstants
提供的方法检索的样式。