2012-06-26 7 views
2

키 스트로크 (예 : "A", "ENTER", "F4")를 나타내는 문자열로 작업해야합니다. 이 문자열에서 키 입력, 키 코드 및 키 입력에 대한 키 수정자를 가져와야합니다.키 텍스트에서 KeyChar 가져 오기

AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("F4"); 
System.out.println(ks.getKeyCode()); 
System.out.println(ks.getKeyModifiers()); 
System.out.println(ks.getKeyChar()); 

내가 얻을 :

115 
0 
? 

키 코드와 수식은 OK하지만 어떤 키 스트로크 (keystroke) 내가 항상 얻을하려고 여기

내가 (예 : F4를 위해) 무엇인가? keychar ...

나는 뭔가를 놓친가요?

답변

3

2 개의 댓글 : 당신은 당신이 pressed is assumed and no character is printed

  • 가 유효한 유니 코드 문자가 "F4"
  • 변경하는 경우를 위해이없는 경우에 키를 입력했는지 지정하지

    • 당신의 진술 System.out.println((int)ks.getKeyChar());keyCharKeyEvent.CHAR_UNDEFINED의 값인 65535임을 알 수 있습니다.

      AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("typed A");을 사용해보십시오. keyChar이 A이고, 예외가 발생하는 것을 확인하기 위해 AWTKeyStroke ks = AWTKeyStroke.getAWTKeyStroke("typed F4");을 시도해 볼 수도 있습니다.

    +0

    감사합니다. 모든 것이 이제 분명합니다. – LuSyo