InputMethodDescriptor — 입력 메서드 설명자

InputMethodDescriptor — 입력 메서드 설명자 (java.awt.im.spi)

입력 메서드를 선택하고 로드할 수 있게 하는 충분한 정보를 제공하는 메서드를 정의하는 인터페이스예요. 입력 메서드 자체는 실제로 사용될 때만 로드돼요.

출처: Java API Reference

본문

InputMethodDescriptor 인터페이스는 특정 입력 메서드(Input Method)에 대한 메타데이터를 기술해요. 텍스트 입력 로케일, 표시 이름, 아이콘, 실제 인스턴스 생성 등의 정보를 제공해요. Java 1.3부터 도입됐어요.

메서드 요약

반환 타입 메서드 설명
InputMethod createInputMethod() 해당 입력 메서드의 새 인스턴스를 만들어요.
Locale[] getAvailableLocales() 해당 입력 메서드가 지원하는 로케일을 반환해요.
String getInputMethodDisplayName(Locale, Locale) 주어진 입력 로케일에 대한 사용자 표시 이름을 반환해요.
Image getInputMethodIcon(Locale) 해당 입력 메서드의 아이콘을 반환해요.
boolean hasDynamicLocaleList() 사용 가능한 로케일 목록이 런타임에 바뀔 수 있는지 반환해요.

메서드 상세

getAvailableLocales()

Locale[] getAvailableLocales()
                      throws AWTException

해당 입력 메서드가 지원하는 로케일을 반환해요. 로케일은 언어만 기술할 수도, 필요하면 국가와 변형(variant) 정보를 포함할 수도 있어요. 이 정보는 로케일별로 입력 메서드를 선택할 때(InputContext.selectInputMethod(Locale)) 사용돼요. 사용자에게 보이는 입력 메서드 목록에서 로케일별로 정렬할 때도 쓰일 수 있어요.

입력 메서드의 기본 로케일만 반환해야 해요. 예를 들어 일본어 입력 메서드가 로마자 통과(pass-through) 모드를 갖고 있어도, 보통은 일본어만 반환해요. 즉 반환되는 로케일 목록은 InputMethod.setLocale(Locale) 구현이 true를 반환하는 로케일의 부분집합인 경우가 많아요.

hasDynamicLocaleList()true를 반환하면, 정보가 필요할 때마다 이 메서드가 호출돼요. 네트워크 리소스에 의존하는 입력 메서드가 리소스의 가용성에 따라 로케일을 추가하거나 제거할 기회를 주는 거예요.

반환값: 입력 메서드가 지원하는 로케일

예외: AWTException — 예를 들어 설치가 완전하지 않아 입력 메서드가 작동 불가능하다고 판단될 때

hasDynamicLocaleList()

boolean hasDynamicLocaleList()

사용 가능한 로케일 목록이 런타임에 바뀔 수 있는지 반환해요. 예를 들어 네트워크를 통해 실제 입력 메서드에 접근하는 어댑터의 경우 그럴 수 있어요.

반환값: 사용 가능한 로케일 목록이 런타임에 바뀔 수 있는지 여부

getInputMethodDisplayName(Locale inputLocale, Locale displayLanguage)

String getInputMethodDisplayName(Locale inputLocale,
                                 Locale displayLanguage)

주어진 입력 로케일과 표시 언어에 대한 입력 메서드의 사용자 표시 이름을 반환해요. inputLocale은 텍스트가 입력되는 로케일을 지정해요. 이 파라미터는 이 설명자의 getAvailableLocales()로 얻은 값 또는 null만 받을 수 있어요. null이면 입력 로케일과 무관한 이름을 반환해야 해요. 원하는 표시 언어의 이름이 없으면 다른 언어로 대체(fall back)할 수 있어요.

파라미터: inputLocale — 텍스트 입력이 지원되는 로케일 또는 null / displayLanguage — 이름이 표시될 언어

반환값: 주어진 입력 로케일에 대한 사용자 표시 이름

getInputMethodIcon(Locale inputLocale)

Image getInputMethodIcon(Locale inputLocale)

해당 입력 메서드의 아이콘을 반환해요. 아이콘은 입력 메서드를 선택하는 사용자 인터페이스에서 쓰일 수 있어요. 아이콘 크기는 16×16 픽셀이어야 해요.

파라미터: inputLocale — 텍스트 입력이 지원되는 로케일 또는 null

반환값: 해당 입력 메서드의 아이콘 또는 null

createInputMethod()

InputMethod createInputMethod()
                       throws Exception

해당 입력 메서드의 새 인스턴스를 만들어요.

반환값: 해당 입력 메서드의 새 인스턴스

예외: Exception — 입력 메서드 인스턴스를 만드는 동안 발생할 수 있는 모든 예외

더 알아보기