InputMethodHighlight 클래스

InputMethodHighlight 클래스

InputMethodHighlight는 조합 중인 텍스트의 강조 속성을 설명하는 데 사용돼요. 설명은 두 수준으로 제공될 수 있어요. 추상 수준에서는 변환 상태와 텍스트가 선택됐는지를 지정하고, 구체 수준에서는 강조를 렌더링하는 데 쓰는 스타일 속성을 지정해요.

출처: Java API Reference

본문

InputMethodHighlight는 추상 수준의 설명을 반드시 제공해야 하고, 구체 수준의 설명은 제공할 수도 있고 안 할 수도 있어요. 구체 스타일이 제공되지 않으면 렌더러는 Toolkit.mapInputMethodHighlight(InputMethodHighlight)를 사용해 구체 스타일로 매핑해야 해요.

public class InputMethodHighlight
extends Object

추상 설명의 세 필드

  • selected — 텍스트 범위가 입력 방식이 현재 작업 중인 범위인지 나타내요. 예: 변환 후보를 메뉴에 보여주는 세그먼트.
  • state — 변환 상태를 나타내요. 상태 값은 입력 방식 프레임워크가 정의하며, 추상→구체 스타일의 모든 매핑에서 구분해야 해요. 현재 정의된 상태 값은 raw(변환 전)와 converted(변환됨)이에요. 이 상태 값들은 텍스트 조합의 주요 변환 단계 전후(kana→kanji, pinyin→hanzi 변환 전후 등)에 사용할 것을 권장해요.
  • variation — 입력 방식이 변환 결과에 대한 추가 정보를 표현할 수 있게 해요.

주요 상수

  • RAW_TEXT / CONVERTED_TEXT — 조합 상태를 나타내는 상수예요.
  • SELECTED_RAW_TEXT / SELECTED_CONVERTED_TEXT — 선택되고 조합된 상태를 나타내는 상수예요.
  • UNSELECTED_RAW_TEXT / UNSELECTED_CONVERTED_TEXT — 선택되지 않은 상태를 나타내는 상수예요.

생성자

  • InputMethodHighlight(boolean selected, int state) — 추상 설명만으로 만들어요.
  • InputMethodHighlight(boolean selected, int state, int variation) — variation을 지정해 만들어요.
  • InputMethodHighlight(boolean selected, int state, int variation, Map style) — 구체 스타일을 지정해 만들어요.

사용

InputMethodHighlight 인스턴스는 보통 INPUT_METHOD_HIGHLIGHT 속성의 AttributedCharacterIterator에서 반환되는 속성 값으로 사용돼요. 별도 텍스트 세그먼트를 나타내려면 Annotation 인스턴스로 감쌀 수 있어요. 변환 중인 텍스트의 밑줄·색상 같은 강조 표시를 렌더링할 때 이 값으로 시각 효과를 결정해요.

더 알아보기