프랑스어 키보드 (AZERTY)에서 문자 '.'은 으로 생성됩니다. Shift + ; 조합 퍼센트 문자 '%'이 시프트 + ù 조합으로 생성되는 동안GWT : 프랑스어 키보드로 잘못된 키 코드가 생성되었습니다.
그래서 내가 작성하는 GWT의 텍스트 영역에 위의 조합 중 하나를 입력 할 때 '.' 또는 '%'인 경우 이러한 이벤트에 대해 생성 된 키 코드는 전자의 경우 KEY_DELETE
이고 후자의 경우 KEY_LEFT
입니다.
TextArea txtArea = new TextArea();
txtArea.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
switch (charCode) {
case KeyCodes.KEY_LEFT: { // key code 37
System.out.write("KEY LEFT");
break;
}
case KeyCodes.KEY_DELETE: { // key code 46
System.out.write("DELETE");
break;
}
}
해결 : charCode 값을 얻을 문자 일치 수행
charCode = event.getCharCode();
if (charCode == '.') {...}
else if (charCode == '%') {...}
이것은 GWT의 버그를? 그리고 이것을 처리하는 더 우아한 방법이 있습니까?