Module java.base
Package java.text

Class AttributedString

java.lang.Object
java.text.AttributedString

public class AttributedString extends Object
AttributedString(属性字符串)保存文本及相关属性信息。在某些情况下,它可用作实际数据存储,当文本阅读器通过AttributedCharacterIterator接口访问带属性的文本时。

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

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

自 JDK 版本:
1.2
参见:
  • Constructor Details

    • AttributedString

      public AttributedString(String text)
      使用给定文本构造AttributedString实例。
      参数:
      text - 此带属性字符串的文本。
      抛出:
      NullPointerException - 如果text为null。
    • AttributedString

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

      public AttributedString(AttributedCharacterIterator text)
      使用由AttributedCharacterIterator表示的给定带属性文本构造AttributedString实例。
      参数:
      text - 此带属性字符串的文本。
      抛出:
      NullPointerException - 如果text为null。
    • AttributedString

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

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

    • addAttribute

      public void addAttribute(AttributedCharacterIterator.Attribute attribute, Object value)
      向整个字符串添加属性。
      参数:
      attribute - 属性键
      value - 属性的值;可能为null
      抛出:
      NullPointerException - 如果attribute为null。
      IllegalArgumentException - 如果AttributedString长度为0(不能将属性应用于长度为0的范围)。
    • addAttribute

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

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

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

      创建一个AttributedCharacterIterator实例,用于访问此字符串的选定内容。不在属性列表中的属性信息,实现者可能不需要通过迭代器提供。如果列表为null,则应提供所有可用属性信息。
      参数:
      attributes - 客户端感兴趣的属性列表
      返回:
      提供对整个文本及其选定属性的访问的迭代器
    • getIterator

      public AttributedCharacterIterator getIterator(AttributedCharacterIterator.Attribute[] attributes, int beginIndex, int endIndex)
      创建一个AttributedCharacterIterator实例,用于访问此字符串的选定内容。不在属性列表中的属性信息,实现者可能不需要通过迭
      Parameters:
      attributes - a list of attributes that the client is interested in
      beginIndex - the index of the first character
      endIndex - the index of the character following the last character
      Returns:
      an iterator providing access to the text and its attributes
      Throws:
      IllegalArgumentException - if beginIndex is less than 0, endIndex is greater than the length of the string, or beginIndex is greater than endIndex.