InputMethod 인터페이스

InputMethod 인터페이스

복잡한 텍스트 입력을 지원하는 입력 방식의 인터페이스를 정의해요. 입력 방식은 전통적으로 표준 크기 키보드로 표현할 수 있는 것보다 많은 문자를 가진 언어(중국어, 일본어, 한국어 등)의 텍스트 입력을 지원해요. 하지만 영어의 음성 텍스트 입력이나 타이어의 문자 재배열을 지원하는 데도 사용될 수 있어요.

출처: Java API Reference

본문

InputMethod의 하위 클래스는 입력 방식 프레임워크가 로드할 수 있어요. 그런 다음 API(InputContext.selectInputMethod)나 사용자 인터페이스(입력 방식 선택 메뉴)를 통해 선택할 수 있어요.

public interface InputMethod

주요 메서드

  • setInputMethodContext(InputMethodContext context) — 입력 방식이 사용할 컨텍스트를 설정해요.
  • setLocale(Locale locale) / getLocale() — 로케일을 설정·조회해요.
  • setCharacterSubsets(Character.Subset[] subsets) — 문자 하위 집합을 설정해요.
  • setCompositionEnabled(boolean enable) / isCompositionEnabled() — 조합 활성화를 설정·조회해요.
  • reconvert() — 재변환을 요청해요.
  • dispatchEvent(AWTEvent event) — 이벤트를 처리해요.
  • notifyClientWindowChange(Rectangle bounds) — 클라이언트 창 변경을 알려요.
  • activate() / deactivate(boolean isTemporary) — 활성화·비활성화를 처리해요.
  • hideWindows() — 조합 창을 숨겨요.
  • removeNotify() — 리소스를 정리해요.
  • endComposition() — 조합을 종료해요.

구현 참고

입력 방식은 InputMethod를 구현한 뒤, java.awt.im.spi 패키지의 InputMethodDescriptor를 함께 제공해야 프레임워크가 로드하고 선택 UI에 표시할 수 있어요.

입력 방식 프레임워크에 로드되면 탐지되지 않는 입력 방식은 사용자가 직접 만들고 InputContext에 직접 배치해 사용할 수도 있어요.

더 알아보기