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