2013-03-12 5 views
1

Java에서 Robot 클래스를 사용하고 텍스트를 입력하려고합니다. 불행히도 대괄호의 키 코드를 찾는 데 문제가 있습니다.이 기호는 |이며이 기호는`입니다. KeyEvent 상수에서 찾을 수 없습니다. 타이핑하는 텍스트가 키릴 문자이고이 기호가 알파벳의 문자를 나타 내기 때문에이 문자를 사용하고 싶습니다. 미리 감사드립니다.대괄호의 키 코드는 무엇입니까

+1

참고로 ... '' 'KeyEvent.VK_BACK_QUOTE이라고 생각 : "|" * pipe * 및 "'"- * backtick *이라고합니다. –

답변

5

그것은 KeyEvent의 JavaDoc

에서 KeyEvent

KeyEvent.VK_OPEN_BRACKET

KeyEvent.VK_CLOSE_BRACKET

JavaDoc에서 편집

입니다

이 저수준 이벤트는 키를 누르거나 놓거나 입력 할 때 구성 요소 개체 (예 : 텍스트 필드)에 의해 생성됩니다. 미국 101 키 키보드 그래서

`~ ~SHIFT 수정이있을 것이다하지만, 동일한 키 코드를 생성합니다. 또한 KeyEvent.VK_BACK_SLASH| (파이프) 키 스트로크도 함정합니다.

다음 샘플을 KeyAdapter 프로젝트에 추가하여 실제로 사용하도록하십시오.

new KeyAdapter() 
{ 
    public void keyPressed(final KeyEvent e) 
    { 
     if (e.getKeyCode() == KeyEvent.VK_BACK_QUOTE) 
     { 
      e.toString(); 
     } 
     if (e.getKeyCode() == KeyEvent.VK_BACK_SLASH) 
     { 
      e.toString(); 
     } 
     if (e.getKeyCode() == KeyEvent.VK_OPEN_BRACKET) 
     { 
      e.toString(); 
     } 
    } 
} 
0

일반적인 해결책은 KeyEvent.getExtendedKeyCodeForChar(int c)입니다. 유니 코드 코드 포인트 cVK_ 상수가 있으면 반환됩니다. 그렇지 않으면 "고유 정수"가 리턴됩니다.

나는