You can use Character.isLetter(char)
in a TextBox KeyUpHandler:
textBox.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { if (!Character.isLetter(event.getNativeKeyCode())) { ((TextBox)event.getSource()).cancelKey(); customPopup.showRelativeTo(textBox);
But, Character.isLetter(char)
works with ASCII, if you want to see more, you can do something like this:
public static boolean isLetter(char c) { int val = (int) c; return inRange(val, 65, 90) || inRange(val, 97, 122) || inRange(val, 192, 687) || inRange(val, 900, 1159) || inRange(val, 1162, 1315) || inRange(val, 1329, 1366) || inRange(val, 1377, 1415) || inRange(val, 1425, 1610); } public static boolean inRange(int value, int min, int max) { return (value <= max) & (value >= min); }
See this: http://code.google.com/p/google-web-toolkit/issues/detail?id=1983
Õzbek
source share