模块  java.base
软件包  java.text

Class AttributedString


  • public class AttributedString
    extends Object
    AttributedString保存文本和相关属性信息。 在文本阅读器想要通过AttributedCharacterIterator接口访问属性文本的某些情况下,它可以用作实际数据存储。

    属性是由键标识的键/值对。 给定字符上没有两个属性可以具有相同的键。

    属性的值是不可变的,或者客户端或存储不得突变。 它们总是通过引用传递,而不是克隆。

    从以下版本开始:
    1.2
    另请参见:
    AttributedCharacterIteratorAnnotation
    • 构造方法详细信息

      • AttributedString

        public AttributedString​(String text)
        使用给定文本构造一个AttributedString实例。
        参数
        text - 此属性字符串的文本。
        异常
        NullPointerException - 如果 text为空。
      • AttributedString

        public AttributedString​(String text,
                                Map<? extends AttributedCharacterIterator.Attribute,​?> attributes)
        使用给定的文本和属性构造一个AttributedString实例。
        参数
        text - 此属性字符串的文本。
        attributes - 适用于整个字符串的属性。
        异常
        NullPointerException - 如果 textattributes为空。
        IllegalArgumentException - 如果文本的长度为0且attributes参数不是空Map(属性不能应用于0长度范围)。
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text)
        使用由AttributedCharacterIterator表示的给定属性文本构造一个AttributedString实例。
        参数
        text - 此属性字符串的文本。
        异常
        NullPointerException - 如果 text为空。
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text,
                                int beginIndex,
                                int endIndex)
        构造一个AttributedString实例,其中包含由AttributedCharacterIterator表示的给定属性文本的子范围。 如果给定范围产生空文本,则将丢弃所有属性。 请注意,对于原始属性范围的子范围,将放弃由Annotation对象包装的任何属性。
        参数
        text - 此属性字符串的文本。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 text为空。
        IllegalArgumentException - 如果beginIndex和endIndex给出的子范围超出文本范围。
        另请参见:
        Annotation
      • AttributedString

        public AttributedString​(AttributedCharacterIterator text,
                                int beginIndex,
                                int endIndex,
                                AttributedCharacterIterator.Attribute[] attributes)
        构造一个AttributedString实例,其中包含由AttributedCharacterIterator表示的给定属性文本的子范围。 只有与给定属性匹配的属性才会合并到实例中。 如果给定范围产生空文本,则将丢弃所有属性。 请注意,对于原始属性范围的子范围,将放弃由Annotation对象包装的任何属性。
        参数
        text - 此属性字符串的文本。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        attributes - 指定要从文本中提取的属性。 如果指定null,则将使用所有可用属性。
        异常
        NullPointerException - 如果 text为空。
        IllegalArgumentException - 如果beginIndex和endIndex给出的子范围超出文本范围。
        另请参见:
        Annotation
    • 方法详细信息

      • addAttribute

        public void addAttribute​(AttributedCharacterIterator.Attribute attribute,
                                 Object value,
                                 int beginIndex,
                                 int endIndex)
        将属性添加到字符串的子范围。
        参数
        attribute - 属性键
        value - 属性的值。 可能为空。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 attribute为空。
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或者beginIndex和endIndex一起不定义字符串的非空子范围。
      • addAttributes

        public void addAttributes​(Map<? extends AttributedCharacterIterator.Attribute,​?> attributes,
                                  int beginIndex,
                                  int endIndex)
        将一组属性添加到字符串的子范围。
        参数
        attributes - 要添加到字符串的属性。
        beginIndex - 范围的第一个字符的索引。
        endIndex - 范围的最后一个字符后面的字符的索引。
        异常
        NullPointerException - 如果 attributes为空。
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或者beginIndex和endIndex一起不定义字符串的非空子范围,而attributes参数不是空Map。
      • getIterator

        public AttributedCharacterIterator getIterator()
        创建一个AttributedCharacterIterator实例,该实例提供对此字符串的全部内容的访问。
        结果
        一个迭代器,提供对文本及其属性的访问。
      • getIterator

        public AttributedCharacterIterator getIterator​(AttributedCharacterIterator.Attribute[] attributes)
        创建一个AttributedCharacterIterator实例,该实例提供对此字符串的选定内容的访问。 有关未在实现者可能具有的属性中列出的属性的信息无需通过迭代器访问。 如果列表为null,则应使所有可用的属性信息都可访问。
        参数
        attributes - 客户端感兴趣的属性列表
        结果
        一个迭代器,提供对整个文本及其选定属性的访问
      • getIterator

        public AttributedCharacterIterator getIterator​(AttributedCharacterIterator.Attribute[] attributes,
                                                       int beginIndex,
                                                       int endIndex)
        创建一个AttributedCharacterIterator实例,该实例提供对此字符串的选定内容的访问。 有关未在实现者可能具有的属性中列出的属性的信息无需通过迭代器访问。 如果列表为null,则应使所有可用的属性信息都可访问。
        参数
        attributes - 客户端感兴趣的属性列表
        beginIndex - 第一个字符的索引
        endIndex - 最后一个字符后面的字符的索引
        结果
        一个迭代器,提供对文本及其属性的访问
        异常
        IllegalArgumentException - 如果beginIndex小于0,则endIndex大于字符串的长度,或者beginIndex大于endIndex。