Module java.desktop
Package java.awt.im

Class InputMethodHighlight

java.lang.Object
java.awt.im.InputMethodHighlight

public class InputMethodHighlight extends Object
InputMethodHighlight 用于描述正在组成的文本的高亮属性。描述可以在两个级别进行:在抽象级别,它指定转换状态和文本是否被选中;在具体级别,它指定用于呈现高亮的样式属性。InputMethodHighlight 必须在抽象级别提供描述;它可以或可以不提供具体级别的描述。如果没有提供具体样式,则渲染器应使用 Toolkit.mapInputMethodHighlight(java.awt.im.InputMethodHighlight) 来映射到具体样式。

抽象描述由三个字段组成:selectedstatevariationselected 表示文本范围是否是输入法当前正在处理的范围,例如,当前在菜单中显示转换候选词的段落。 state 表示转换状态。状态值由输入法框架定义,并应在所有从抽象到具体样式的映射中加以区分。当前定义的状态值为原始(未转换)和已转换。这些状态值建议在文本组合的主要转换步骤之前和之后使用,比如在假名->汉字或拼音->汉字转换之前和之后。 variation 字段允许输入法表达有关转换结果的附加信息。

InputMethodHighlight 实例通常用作从 AttributedCharacterIterator 返回的 INPUT_METHOD_HIGHLIGHT 属性的属性值。它们可以包装到 Annotation 实例中,以指示单独的文本段。

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

    • RAW_TEXT

      public static final int RAW_TEXT
      原始文本状态的常量。
      参见:
    • CONVERTED_TEXT

      public static final int CONVERTED_TEXT
      已转换文本状态的常量。
      参见:
    • UNSELECTED_RAW_TEXT_HIGHLIGHT

      public static final InputMethodHighlight UNSELECTED_RAW_TEXT_HIGHLIGHT
      未选定原始文本的默认高亮的常量。
    • SELECTED_RAW_TEXT_HIGHLIGHT

      public static final InputMethodHighlight SELECTED_RAW_TEXT_HIGHLIGHT
      选定原始文本的默认高亮的常量。
    • UNSELECTED_CONVERTED_TEXT_HIGHLIGHT

      public static final InputMethodHighlight UNSELECTED_CONVERTED_TEXT_HIGHLIGHT
      未选定已转换文本的默认高亮的常量。
    • SELECTED_CONVERTED_TEXT_HIGHLIGHT

      public static final InputMethodHighlight SELECTED_CONVERTED_TEXT_HIGHLIGHT
      选定已转换文本的默认高亮的常量。
  • Constructor Details

    • InputMethodHighlight

      public InputMethodHighlight(boolean selected, int state)
      构造输入法高亮记录。将变化设置为 0,样式设置为 null。
      参数:
      selected - 文本范围是否被选中
      state - 文本范围的转换状态 - RAW_TEXT 或 CONVERTED_TEXT
      抛出:
      IllegalArgumentException - 如果给定的状态不是 RAW_TEXT 或 CONVERTED_TEXT
      参见:
    • InputMethodHighlight

      public InputMethodHighlight(boolean selected, int state, int variation)
      构造输入法高亮记录。样式设置为 null。
      参数:
      selected - 文本范围是否被选中
      state - 文本范围的转换状态 - RAW_TEXT 或 CONVERTED_TEXT
      variation - 文本范围的样式变化
      抛出:
      IllegalArgumentException - 如果给定的状态不是 RAW_TEXT 或 CONVERTED_TEXT
      参见:
    • InputMethodHighlight

      public InputMethodHighlight(boolean selected, int state, int variation, Map<TextAttribute,?> style)
      构造输入法高亮记录。提供的样式属性映射必须是不可修改的。
      参数:
      selected - 文本范围是否被选中
      state - 文本范围的转换状态 - RAW_TEXT 或 CONVERTED_TEXT
      variation - 文本范围的变化
      style - 文本范围的呈现样式属性,或 null
      抛出:
      IllegalArgumentException - 如果给定的状态不是 RAW_TEXT 或 CONVERTED_TEXT
      自 JDK 版本:
      1.3
      参见:
  • Method Details

    • isSelected

      public boolean isSelected()
      返回文本范围是否被选中。
      返回:
      文本范围是否被选中
    • getState

      public int getState()
      返回文本范围的转换状态。
      返回:
      文本范围的转换状态 - RAW_TEXT 或 CONVERTED_TEXT。
      参见:
    • getVariation

      public int getVariation()
      返回文本范围的变化。
      返回:
      文本范围的变化
    • getStyle

      public Map<TextAttribute,?> getStyle()
      返回文本范围的呈现样式属性,或 null。
      返回:
      文本范围的呈现样式属性,或 null
      自 JDK 版本:
      1.3