2011-09-20 6 views
0

현재 Java SE 응용 프로그램에서 유니 코드 및 니모닉에 문제가 있습니다. 메뉴 모음에서 "ФMnemonicUnicodeTest"라는 이름의 메뉴를 추가하고 첫 문자를 니모닉으로 설정합니다.
니모닉으로 설정된 정수 값은 "1060"입니다.자바 : 니모닉 및 유니 코드

  • 윈도우 7
  • 영어 시스템 언어
  • 자바 SE 6, 32 비트
  • 러시아어/러시아어 키보드 레이아웃
  • 물리적 러시아어 키보드

코드 :

menu.setMnemonic((int)(text.substring(index+1, index+2).charAt(0))); 

메뉴가 올바르게 표시됩니다 (니모 닉 문자는 밑줄이 그어진 것입니다).
그러나 니모닉은 "ALT + Ф"(키가 실제 키패드에서 "AФ"로 표시됨)로 메뉴를 확장하지 않습니다.

내 질문은 니모닉이 작동하지 않는 이유는 무엇이며 어떻게 고칠 수 있습니까?

답변

0

나는 오랫동안이 작업을 수행하지는 않았지만 메뉴 바로 가기의 경우 가상 키 값 중 하나를 사용해야한다고 생각합니다.

자세한 정보는 KeyEvent javadoc을 참조하십시오.

+0

그러나 이것은 가상 키로 사용할 수있는 문자에 대해서만 니모닉을 적용 할 수 있음을 의미합니다. "ALT + Ф"를 입력 할 때 던지는 키 이벤트를 잡을 때 키 문자는 오른쪽이지만 키 코드는 65입니다 (A의 경우). – RusH

+0

나는 국제화에 리소스 파일을 사용하고 있으며 사용되어야하는 번역과 니모닉을 정의합니다. 내가 유니 코드 문자에 대한 해당 가상 키를 동적으로 찾아야하고 니모닉으로 사용되는 문자에 던져진 가상 키를 사용하는 경우 밑줄이 그어지지 않습니다. – RusH