模块 java.base
 java.text

类 AttributedString

java.lang.Object
java.text.AttributedString

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

属性是键/值对,由键标识。给定字符的两个属性不能具有相同的键。

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

自从:
1.2
参见:
  • 构造方法详细信息

    • 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 且属性参数不是空映射(属性不能应用于长度为 0 的范围)。
    • AttributedString

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

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

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

    • addAttribute

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

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

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